css 머리가 터져버릴거 같습니다 ㅠㅠ

css 머리가 터져버릴거 같습니다 ㅠㅠ

QA

css 머리가 터져버릴거 같습니다 ㅠㅠ

본문

드랍다운 메뉴를 만드는중에

 

<ul>

<li>

<a href="">메뉴1</a>

<ul>

<li><a href="">메뉴1-1</a></li>

<li><a href="">메뉴1-2</a></li>

</li>

<li><a href="">메뉴2</a></li>

<li><a href="">메뉴3</a></li>

</ul>

 

이렇게 하고 css 에서 

 

ul > li {font-size:20px;}

 

이렇게 하면 대메뉴의 메뉴1,메뉴2,메뉴3만 폰트가 20이 되야 하는거 아닌가요??

그 하위 li 까지 같이 효과를 먹는데 이해가 안갑니다 ㅠㅠ

유튜브나 책을 다시 봐도 ul > li  이렇게 선택하면 자식요소만 변경 된다고 하는데

그 아래까지 변해버리니.... 왜그런지 

이 질문에 댓글 쓰기 :

답변 2

<ul>

 <li>

    <a href="">메뉴1</a>

    <ul>

        <li><a href="">메뉴1-1</a></li>

        <li><a href="">메뉴1-2</a></li>

</li>

<li><a href="">메뉴2</a></li>

<li><a href="">메뉴3</a></li>

</ul>

 

위에 마크업에 아무런 class 도 id도 없다면 위에 표시한 부분은 같은 조건이기때문에 당연히 말씀하신대로 css가 동일시하게 적용됩니다 

 

==== 수정 =======

<ul class="depth1">

 <li>

    <a href="">메뉴1</a>

    <ul class="depth2">

        <li><a href="">메뉴1-1</a></li>

        <li><a href="">메뉴1-2</a></li>

</li>

<li><a href="">메뉴2</a></li>

<li><a href="">메뉴3</a></li>

</ul>

 

ul.depth1 > li{ font-size:20px} 

이렇게 되어야 첫번째 ul의 하위 직계 자식인 li에게만 css가 적용됩니다 

추가적으로 공통적으로 쓰는 요소에게는 id보다 class를 활용하시는것이 좋습니다

 

답변을 작성하시기 전에 로그인 해주세요.
전체 2,087
QA 내용 검색
filter #css ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT