CSS之浮动那些事

1.清除浮动

下面是两种常用的方式,而这两招也够用了(不用千招会,只需一招精)。

1.结尾处加空div标签 clear:both

<style type="text/css"> 

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

/*清除浮动代码*/
.clearfloat{clear:both}
</style> 

<div>
    <div class="left">Left</div>
    <div class="right">Right</div>
    <div class="clearfloat"></div>
</div>

缺点:每次清除浮动都加空div,影响了HTML的结构,例如如果要算div的个数,都会被影响到。

2.父级div定义 伪类:after

<style type="text/css"> 

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

.clearfloat:after{
    content:"\200B";/*unicode字符里零宽度空格*/
    display:block;
    height:0;
    clear:both;
}
</style> 

<div class="clearfloat">
    <div class="left">Left</div>
    <div class="right">Right</div>
</div>

我更倾向使用这种清除浮动的方式,不增加HTML,浏览器兼容性也好,写法在我看来也简洁。

PS:不过如果要兼容IE6、IE7,就需要加多个zoom:1。

转载:http://www.cnblogs.com/lovesong/p/3762296.html

时间: 2024-08-17 17:23:47

CSS之浮动那些事的相关文章

隐藏-css双浮动如何智能调节父标签的高度

问题描述 css双浮动如何智能调节父标签的高度 如题,我只能做到根据第一个浮动调节父标签的高度,双浮动的话,如果第二个浮动比第一个高的话,就会溢出.不要让我隐藏第二个浮动溢出的部分,我需要能够全部显示 解决方案 参考A new micro clearfix hack使用在父级元素使用clearfix样式 /** * For modern browsers * 1. The space content is one way to avoid an Opera bug when the * cont

Css Div浮动叠加层效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <meta http-equiv="Conte

利用JavaScript和CSS制作浮动menu

css|javascript|浮动 随着INTERNET的高速发展,越来越多的人拥有了个人主页,但以往的静态HTML语言,已经不能满足人们的要求.javascript和多层模式表单(Cascading Style Sheet, CSS)的出现使网页更加生动活泼,从而可以获得令人满意的效果.本文以javascript和CSS制作一种浮动菜单的方法为例,来说明其灵活性,同时也是抛砖引玉希望和广大网友共同切磋技术,制作出更好的家页(homepage).当我们浏览一个超过屏幕显示范围的一个页面时,为了回

XHTML+CSS利用浮动与定位进行网页布局

css|xhtml|浮动|网页 最近在做一篇文档,有关xhtml与css的,看了不少资料,这里先把总结的东西写一点出来.先说的是div+css的问题,最基本的,怎样使用它们来布局. 浮动 CSS允许任何元素浮动float,不论是图像,段落还是列表.无论先前元素是什么状态,浮动后都成为块级元素.浮动元素的宽度缺省为auto. 浮动有一系列控制它的规则. 1.浮动元素的外边缘不会超过其父元素的内边缘. 2.浮动元素不会互相重叠. 3.浮动元素不会上下浮动. 4.如果一个浮动元素在另一个浮动元素之后显

CSS左浮动的例子

在页面中放置三个div,背景是粉红,宽度150px,高度100px,蓝色,实线.三个div均左浮动,实现水平排列. html文件: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>CSS左浮动的例子</title&g

CSS右浮动的例子

在页面中放置三个div,背景是粉红,宽度150px,高度100px,蓝色,实线.让div1右浮动 html文件: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>CSS右浮动的例子</title> <li

css清除浮动方法和代码

  对于一个前端设计者,经常用CSS设计页面,对于清除浮动似乎是一个再基础不过的技巧了,但是清除浮动也是有很多方法和代码的,今天分享一个流行且在很多大项目上已被采用的CSS清除浮动的代码. 这个代码来源于positioniseverything ,通过after伪类:after和IEhack来实现,完全兼容当前主流浏览器. 上述代码是一种标准模式,效果和兼容性都是相当出色的,不过有些朋友总担心代码太多所造成的影响,可以这样优化一下,不影响清除效果,也是很不错的:

html-HTML关于CSS+DIV浮动的一个疑问

问题描述 HTML关于CSS+DIV浮动的一个疑问 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title> </title> <style> #div1 { width:400px; height:300px; backgroun

学习CSS:我们一起认识CSS闭合浮动元素

css|浮动 按照CSS规范,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列.因此当其高度超出包含容器时,一般父容器不会自动伸长以闭合浮动元素.但是有时我们却需要这种自动闭合行为,具体如何处理呢? 有一种做法就是在父容器内再插入一个额外的标签,并令其清除浮动(clear)以撑大父容器.这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签,所以我个人不大喜欢.后来又有了一种新的方式,使用 :after 伪类动态的