gpt4 book ai didi

css - 对于带有页眉和页脚的 2 列布局,我真的需要 css clear 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:32:15 26 4
gpt4 key购买 nike

我在这里阅读了教程 http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/它说:

要解决页脚问题,我需要在页脚上使用 css clear :

#footer {
clear: both;
}

我试过不使用 css clear,只使用 css float:right 作为页脚,我在包括移动设备在内的多种浏览器上进行了测试,它似乎没问题,那么不使用 css clear 进行 2 列布局有什么问题?在某些情况下布局会破坏我的 css 样式(在 iframe 内或其他任何地方)?

<html>
<head>
<title>
2 column layout
</title>
<style type="text/css">

#header {
background-color: yellow;
float: left;
width: 100%;
}

#footer {
background-color: orange;
float: left;
width: 100%;
}

div.left {
float: left;
}
div.right {
float: right;
}

.column {
width: 50%;
}

img {
float: right;
margin: 0 0 1em 1em;
}
</style>
</head>
<body>

<div id='header'>
header
</div>

<div class='left column'>
<img src="css-float.png">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet. Mauris ante ligula, facilisis sed ornare eu, lobortis in odio. Praesent convallis urna a lacus interdum ut hendrerit risus congue. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis. Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta. Cras ac leo purus. Mauris quis diam velit.
</div>

<div class='right column'>
<img src="css-float.png">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet. Mauris ante ligula, facilisis sed ornare eu, lobortis in odio. Praesent convallis urna a lacus interdum ut hendrerit risus congue. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis. Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta. Cras ac leo purus. Mauris quis diam velit.
</div>

<div id='footer'>
footer
</div>

</body>
</html>

最佳答案

您没有看到任何问题,因为您的页脚设置为 float: left; width: 100%,所以随着内容的流动,你会看到它出现在页面中其他元素的下面。 float 和宽度的组合意味着页脚只会显示在可以使用 100% 宽度的地方,在您的情况下是在其他内容下面。

如果您关闭 float: left,您会看到它破坏了您的布局:

JS Fiddle 1

如果您随后添加 clear: both; 样式,您将看到 clear fix hack , 将清除之前的 float 并恢复页面的流量:

JS Fiddle 2

另一种方法是使用固定的“粘性”页脚,固定在页面底部,您可以避免上述两种技巧:

JS Fiddle 3

关于css - 对于带有页眉和页脚的 2 列布局,我真的需要 css clear 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24993532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com