宽高自适应、清除浮动(高度塌陷)

宽高自适应及其优点

定义:
网页布局中经常要定义元素的宽和高。但很多时候我们希望元素的大小能够根据窗口或子元素自动调整,这就是自适应。
优点:
元素自适应在网页布局中非常重要,它能够使网页显示更灵活,可以适应在不同设备、不同窗口和不同分辨率下显示。

1)宽度自适应
子元素的宽度自动适应父元素的宽度
子元素元素宽度设置为100%。(块元素宽度默认为auto)

2) 高度自适应

   1)元素高度自适应窗口高度
    设置方法:html,body{height:100%;}(写一个满屏页面)

    2)子元素自适应父元素高度:height:100%;
    
    3)元素具备最小高度的自适应

属性:最小高度;(IE6浏览器不识别该属性)
min-height什么时候用?当元素内容的高度不确定的时候用min-height;
最小高度兼容IE6的写法:
方法1:min-height:value; _height:value;

方法2:min-height:value; height:auto!important;
height:value;(属性顺序不能改变,建议使用)

!important关键字过滤器,写在属性值的后面,加上此单词,属性具有最高的优先级,但是ie6不能识别此关键字;

min-height(最小高度,设置此属性后,内容高度小于此高度,显示此高度;大于容器高度时,容器自适应高度;)

max-height(最大高度,设置此属性后,内容高度小于此高度时,显示内容高度;内容高度超过此高度时显示此高度)

min-width(最小宽度,设置此宽度后,浏览器宽度小于此宽度时显示滚动条,大于此宽度时,适应浏览器宽度;)

max-width(最大宽度,设置此属性后浏览器宽度小于此容器时,会适应内容宽度而不出现滚动条)

清除浮动

浮动元素父元素高度自适应(父元素不写高度时,所有子元素写了浮动后,父元素会发生高度塌陷)

hack1:给父元素添加声明overflow:hidden;
(缺点:当子元素有定位设置,定位到父元素外面时,不希望溢出父元素部分隐藏时,此方法就不行了)

hack2:在最后一个浮动元素下方添加空div,并给该元素添加声明:clear:both;height:0;overflow:hidden;
(缺点:在HTML结构文档中会形成很多冗余代码)

hack3:万能清除浮动法
父元素选择符:after{content:".";clear:both;display:block;height:0;overflow:hidden;visibility:hidden;}

伪对象选择符
1)、:after与content属性一起使用,定义在对象后的内容。
如:div:after{content:url(logo.jpg);}
div:after{content:“文本内容”;}
2)、:before与content属性一起使用,定义在对象前的内容。
如:div:before{content:“在其前放内容”;}
3)、:first-letter定义对象内第一个字符的样式。
4)、:first-line定义对象内第一行的样式。

说明:
*(该伪元素只能用于块级元素。)
*ie6及以下版本浏览器不支持伪对象选择符。

Visibility和display
visibility:hidden/visible;隐藏/可见

visibility:hidden;和display:none;的区别:
visibility:hidden;属性会使对象不可见,但该对象在网页所占的空间没有改变,等于留出了一块空白区域,而 display:none属性会使这个对象彻底消失。

总结:

1、站点中的新闻详情页面和产品详情页面中的详细内容部分高度一般都是不固定的,这时需要用min-height;
2.这就导致详细内容部分的父元素高度也不能固定,如父元素中还有子元素发生了浮动,这时父元素就可能发生高度塌陷,如果高度塌陷的话就需要清除浮动;
一般新闻详情页面和产品详情页面都会出现这种情况

Fliter(过滤器)方法兼容浏览器

(1)、_下划线:IE6浏览器的兼容符号; (只有IE6浏览器识别此符号,其他浏览器不识别)
语法:选择器{_属性:属性值;}

(2)、*或+:兼容所有IE7以下浏览器;(只有IE7及以下版本浏览器识别此符号,其他浏览器不识别)
语法:选择器{*属性:属性值; +属性:属性值; }

(3)、\0:IE8及以上浏览器的兼容符号;
语法:选择器{属性:属性值\0;}

(4)、\9:兼容所有IE浏览器;
语法:选择器{属性:属性值\9}(只有IE浏览器识别此符号,其他浏览器不识别)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值