浮动
display和浮动
- 
块级元素:独占一行 h1~h6 p div 列表行内元素:不独占一行 span a img strong ...行内元素 可以被包括在 块级元素中,反之,则不可以 - 
block元素特点: - 总是在新行上开始
- 高度、行高以及外边距和内边距都可以控制
- 宽度缺省是它的容器的100%,除非设定一个宽度
- 它可以容纳内联元素和其他块元素
 行内元素:a span img 也叫内联单元、内嵌元素等,只能容纳文本或其他内联元素 行内元素特点 - 和其他元素都在同一行
- 高,行高及外边距和内边距不可改变;
- 宽度就是它的文字或图片的宽度,不可改变
- 内联元素只能容纳文本或者其他内联元素
 属性 display: block 设置成块级元素; display: inline 设置成行内元素 display: inline-block 同时具有块元素和行内元素的属性 display: none 不显示 
 浮动:**float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。**<!-- block 块元素 inline 行内元素 block-inline 是块元素,但是可以内联,在一行! --> <style> div{ width: 200px; height: 100px; border: 10px solid yellow; } span{ width: 200px; height: 100px; border: 10px solid bisque; display: block; } </style>
- 
父级边框塌陷问题
- 
<!-- clear: right; 右侧不允许有浮动的元素 clear: left; 左侧不允许有浮动的元素 clear: both; 两侧不允许有浮动的元素 clear: none;--> <style> div{ margin: 0px; padding: 5px; } #img1{ border: 1px #8fa1c7 dashed; display: inline-block; float: left; } #img2{ border: 1px #d4af7a dashed; display: inline-block; float: right; clear: right; } #d1{ border: 1px #455a81 dashed; font-size: 20px; display: inline-block; float: right; } </style>
解决方案:
1、增加父级元素的高度~
#father{    border: 1px #000 soild;    height:500px;}
2、增加一个空的div标签,清除浮动
<div class="clear"></div>
.clear{    clear:both;    margin: 0;    padding: 0;}
3、overflow
在父级元素中增加一个  overflow: hidden;
4、父类添加一个伪类: after
#father:after{    content: '';    display: block;    clear: both;}
小结:
- 
浮动元素后面增加空div 增加,代码中尽量避免空div 
- 
设置父元素的高度 简单,元素假设有了固定的高度,就会被限制 
- 
overflow 简单,下拉的一些场景避免使用 
- 
父类添加一个伪类:after(推荐) 写法稍微复杂一点,但是没有副作用,推荐使用! 
OVERFLOW
<!--    overflow: scroll; 边框不足进行滚动-->
    <style>
        div{
            margin: 0px;
            padding: 5px;
        }
        #d0{
            width: 200px;
            height: 300px;
            overflow: scroll;
        }
        #img1{
            border: 1px #8fa1c7 dashed;
            display: inline-block;
            float: left;
        }
        #img2{
            border: 1px #d4af7a dashed;
            display: inline-block;
            float: left;
        }
        #d1{
            border: 1px #455a81 dashed;
            font-size: 20px;
            display: inline-block;
            float: left;
        }
    </style>

- 
display 方法不可以控制 
- 
float 浮动起来的话可以脱离标准文档流,所以要解决父级边框塌陷问题~ 
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号