清除浮动:
- 方法:clear清除浮动(添加空div法)
在浮动元素下方添加空div,并给该元素写css样式: {clear:both;height:0;overflow:hidden;} - 方法:给浮动元素父级设置高度
缺点:在浮动元素高度不确定的时候不适用 - 方法:以浮制浮(父级同时浮动)
缺点:需要给每个浮动元素父级添加浮动,浮动多了容易出现问题。 - 父级设置成inline-block
缺点:父级的margin左右auto失效,无法使用margin: 0 auto;居中了 - br 清浮动:
<div class="box">
<div class="top"></div>
<br clear="both" />
</div>
br 标签自带clear属性,将它设置成both其实和添加空div原理是一样的;
不符合工作中:结构、样式、行为,三者分离的要求. - 给父级添加overflow:hidden 清浮动方法;
需要配合 宽度 或者 zoom 兼容IE6 IE7;
overflow: hidden;
*zoom: 1; - 万能清除法 after伪类 清浮动(现在主流方法,推荐使用)
选择符:after{
content:".";
clear:both;
display:block;
height:0;
overflow:hidden;
visibility:hidden;
}
同时为了兼容 IE6,7 同样需要配合zoom使用例如:
①.clear:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden;}
②.clear{zoom:1;}
需要注意的东西:
after伪类: 元素内部末尾添加内容;
:after{content"添加的内容";} IE6,7下不兼容
zoom 缩放 :
a、触发 IE下 haslayout,使元素根据自身内容计算宽高。
b、FF 不支持;
块级元素和行内元素
在标准文档流里面 块级元素具有以下特点:
①总是在新行上开始,占据一整行;
②高度,行高以及外边距和内边距都可控制;
③宽带始终是与浏览器宽度一样,与内容无关;
④它可以容纳[内联元素])和其他块元素。
行内元素的特点:
①和其他元素都在一行上;
②高,行高及外边距和内边距部分可改变;
③宽度只与内容有关;
④行内元素只能容纳文本或者其他行内元素。
不可以设置宽高,其宽度随着内容增加,高度随字体大小而改变,内联元素可以设置外边界,但是外边界不对上下起作用,只能对左右起作用,也可以设置内边界,但是内边界在ie6中不对上下起作用,只能对左右起作用。
块级元素:div , p , form, ul, li , ol, dl, form, address, fieldset, hr, menu, table
行内元素:span, strong, em, br, img , input, label, select, textarea, cite,
转换的方式是用css的display属性:
display:block; // 转换为块级
display:inline; // 转换为行内
隐藏元素
- 方法:display:none;
"display:none;"后浏览器不会解析该元素,“none”就是没有,消失了,所以他不会再文档流中占位。 - 方法:visibility:hidden
hidden”也就是隐藏了,但是它所在的位置仍然还在,就像你把你个文件给隐藏了,但是这个文件在你的硬盘中仍然是占据一定空间的,只是你看不见而已, 它不会导致浏览器重排和重绘 。
网友评论