2017-05-16 5 views
0

코드에서 오버플로를 제거하는 이유는 무엇입니까? CSS 스타일의 ul에서 메뉴를 숨 깁니다. 오버 플로우 제거

ul { 
 
    list-style-type: none; 
 
    margin: 0; 
 
    padding: 0; 
 
    background-color: #333; 
 
} 
 

 
li { 
 
    float: left; 
 
} 
 

 
li a, .dropbtn { 
 
    display: inline-block; 
 
    color: white; 
 
    text-align: center; 
 
    padding: 14px 16px; 
 
    text-decoration: none; 
 
} 
 

 
li a:hover, .dropdown:hover .dropbtn { 
 
    background-color: red; 
 
} 
 

 
li.dropdown { 
 
    display: inline-block; 
 
} 
 

 
.dropdown-content { 
 
    display: none; 
 
    position: absolute; 
 
    background-color: #f9f9f9; 
 
    min-width: 160px; 
 
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); 
 
    z-index: 1; 
 
} 
 

 
.dropdown-content a { 
 
    color: black; 
 
    padding: 12px 16px; 
 
    text-decoration: none; 
 
    display: block; 
 
    text-align: left; 
 
} 
 

 
.dropdown-content a:hover {background-color: #f1f1f1} 
 

 
.dropdown:hover .dropdown-content { 
 
    display: block; 
 
}
<ul> 
 
    <li><a href="#home">Home</a></li> 
 
    <li><a href="#news">News</a></li> 
 
    <li class="dropdown"> 
 
    <a href="javascript:void(0)" class="dropbtn">Dropdown</a> 
 
    <div class="dropdown-content"> 
 
     <a href="#">Link 1</a> 
 
     <a href="#">Link 2</a> 
 
     <a href="#">Link 3</a> 
 
    </div> 
 
    </li> 
 
</ul> 
 

 
<h3>Dropdown Menu inside a Navigation Bar</h3> 
 
<p>Hover over the "Dropdown" link to see the dropdown menu.</p>

https://www.w3schools.com/css/tryit.asp?filename=trycss_dropdown_navbar

: 숨겨진; ul에서 CSS 스타일로. 메뉴가 사라집니다. w3schools 웹 사이트에서 예를 발견했습니다. 오버플로를 제거하면 스타일이 ul에서 숨겨져 메뉴가 숨겨집니다.

+0

아직 거기에있어, 좋아하는 브라우저로 DOM을 검사하고 그것을 확인하십시오. – Nope

+0

그래, 아직 거기에 영향을 미치는 오버플로를 제거하는 이유는 무엇입니까? – Rakesh

+1

브라우저에서 계산자의 통계를 확인하면 'overflow : hidden' 요소를 볼 수 있습니다.이 경우'ul'는 기본 높이 인'46px'를 받고'overflow : hidden'을 제거하면 높이가 남습니다 '0px'를 지정하지 않았습니다. 오버플로 : 숨겨진 이유에 관해서는이 답변을 참조하십시오 ► http://stackoverflow.com/a/12783114/448144 – Nope

답변

0

ul은 블록 레벨 요소입니다. li가 떠내려 때 그들은 어떤 공간 따라서 ul의 높이가 지금 ul에 (가시 아무것도하지만) 오버 플로우를 선언 0

로 감소 ul 포함하게 새로운 블록 형식 컨텍스트를 생성한다을 차지하지의 더 이상 0px 높이가 될 수 없습니다.

0

메뉴가 사라지지 않았습니다. 아직 남아 있습니다. @Fran이 제안한 것처럼 검사하거나 단순히 마우스를 마우스로 움직이면 강조 표시됩니다. 당신이 겪고있는 행동은 overflow: hidden;이 블럭에 새로운 포맷팅을하기 때문입니다. 즉, 각 요소가 자신의 포맷을 따르고 정상적인 흐름으로 표시된다는 것을 의미합니다. 블록 형식 지정 컨텍스트에 대한 자세한 내용은 link을 확인하십시오.

+0

왜 투표가 실패 했습니까? – achref

+0

질문이 이미 여러 번 답변 되었기 때문에 그 중 하나에 중복으로 대신 연결될 수 있기 때문에 나는 그것이라고 가정합니다. – Nope

+0

질문이 중복인지 아닌지는 사람에게 달려 있습니다. 우리는 단지 돕고 자 노력하고 있습니다 ... – achref