Home > Web Front-end > CSS Tutorial > How Does `overflow: hidden` Impact Floated Elements Within a `` and Subsequent Text Placement?

How Does `overflow: hidden` Impact Floated Elements Within a `` and Subsequent Text Placement?

Linda Hamilton
Release: 2024-12-03 14:34:17
Original
183 people have browsed it

How Does `overflow: hidden` Impact Floated Elements Within a `` and Subsequent Text Placement?

CSS overflow:hidden with Floats Explained

Question: How does the overflow property affect the placement of text relative to a ul containing floated elements?

Explanation:

By default, block-level elements like ul and p stretch to 100% of the parent width. In the given example, the ul contains only floated li elements, causing it to collapse to a height of 0px while still maintaining its full width.

As a result, the adjacent p element appears to the right of the floated li elements, treating them as normal floats.

However, when overflow:hidden is applied to the ul, it establishes a new block formatting context (BFC), which effectively contains the li elements within the ul. This prevents the ul from collapsing and forces the p element to be pushed to the bottom, clearing the floated li elements.

Technical Details:

According to the CSS specification, when overflow is visible for block-level non-replaced elements in normal flow, they behave as standard block elements. However, setting overflow to any non-visible value (including hidden) creates a BFC, which results in different behavior.

Example:

Consider the following code:

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #dddddd;
  border: 2px solid red;
}

li {
  float: left;
}

a {
  display: block;
  width: 60px;
  background-color: #555;
  color: white;
}

p {
  margin: 0;
  outline: 2px dotted blue;
}

#two {
  clear: both;
  overflow: hidden;
}
Copy after login

Without Overflow:

<ul>
  <li><a href="#home">Home</a></li>
  <li><a href="#news">News</a></li>
  <li><a href="#contact">Contact</a></li>
  <li><a href="#about">About</a></li>
</ul>
<p>
  Notice the collapsed ul - no background-color visible, collapsed border and this paragraph treats the lis as regular floats
</p>
Copy after login

With Overflow:

<ul>
Copy after login

As you can see, applying overflow:hidden to the ul forces the floated li elements to be contained within the ul and clears the p element, pushing it to the bottom of the page.

The above is the detailed content of How Does `overflow: hidden` Impact Floated Elements Within a `` and Subsequent Text Placement?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template