域名注册
- 中文域名
- 英文域名
- 通用网址
- 域名解析
- 域名转入\转出
虚拟主机
- 主机购买
- 管理主机
- FTP上传
- 数据库管理
- 主机续费升级
网站建设
- 建站流程介绍
- 网站设计
- 网站改版
- 网站维护
- 网站推广
企业邮局
网站优化
网站备案
服务器租用
其它服务
- 您现在的位置: 创新互联 >> 网站建设 >> 网站建设常见问题 >> 必知的CSS7个知识点
必知的CSS7个知识点
- 作者:曾小姐 文章来源:成都网站建设 点击数:783 更新时间:2011-12-12
- 制作网站的朋友们,对于CSS很了解吧,那么对于CSS学问里的7个知识点,你都清楚了吗?今天,成都创新互联网站建设的小编会为大家具体讲解CSS必知的7个知识点,请大家仔细看。
1、width是个雷
很多页面要求宽度自适应,那么width设百分比吧,否则块元素很容易变成粘着不走的狗皮膏药。当没有定义元素宽度时,浏览器撑满整行,实际上执行的是width:auto,宽度自适应。
2、IE6不认识min-height
解决办法就是_height,有时候明明不需要可变高度,如果喜欢没原则的min-height,那么记得用_height对付下IE6这个屌丝。
3、float和clear
float和绝对定位都会破坏正常的文档流,正常流自上而下,而float是一个自左而右或者自右而左的流。
clear仅仅是针对上一个浮动元素而言,如果上面没有元素浮动,那么你要清除啥呢?
所谓清除浮动,个人认为就是相对于上一个浮动元素,另起一行。
4、position的relative和static的区别
relative是相对于自己普通流所在位置的定位,而static是文档普通流,即文档流的默认情况。
一般情况,relative跟随top和left两个值,当然也可以用right和bottom,但切记,一切都是相对于自己的普通流。
如果将 position 设为 relative , absolute 或 fixed,那么元素会覆盖没有设置 position 属性的元素,姑且把static当没设position吧。
这说明层级关系中position的权重是较高的。当然如果position有z-index,z-index高的优先,否则,设置了position的比没设的高,
再然后,如果没设position,则按文档流顺序,位于后面位置的元素会覆盖前面的元素。
5、z-index和overflow
用z-index 属性设置元素的堆叠顺序。那么拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。不过z-index 属性仅在节点的 position 属性为 relative, absolute 或者 fixed 时有用哦。当正常流溢出时,可以选择overflow的scroll或者hidden属性。
什么是溢出?比如父级元素定义的高度是100,子级元素定义的高度是150,这撑不住的50就是溢出。所以溢出只出现在子级元素溢出父级元素的情况。一般想解决溢出问题 就只要在父级元素上加一个overflow属性。
兄弟元素之间按照正常的普通的流走不会出现溢出的情况,但当子级元素relative时候,也会出现覆盖,但这已经脱离了溢出的管辖范围。当然父级的overflow对因relative而溢出的子级元素同样有效。
6、IE有bug就找haslayout
haslayout是IE特有的属性,很多IE神奇的BUG都和haslayout有关,要记住,有些样式会触发haslayout,最常用的是zoom:1
下列元素默认 hasLayout=true
<table> <td> <body> <img> <hr> <input> <select> <textarea> <button> <iframe> <embed> <object> <applet> <marquee>
有些属性可以触发hasLayout
-------------------------------------
display
启动haslayout的值:inline-block
取消hasLayout的值:其他值
--------------------------------------
width/height
启动hasLayout的值:除了auto以外的值
取消hasLayout的值:auto
---------------------------------------
position
启动hasLayout的值:absolute
取消hasLayout的值:static
----------------------------------------
float
启动hasLayout的值:left或right
取消hasLayout的值:none
---------------------------------------
zoom(IE专有属性)
启动hasLayout的值:有值
取消hasLayout的值:narmal或者空值
----------------------------------------
ie7还有一些额外的属性可以触发该属性:
min-height: (任何值)
max-height: (任何值除了none)
min-width: (任何值)
max-width: (任何值除了none)
overflow: (任何值除了visible)
overflow-x: (任何值除了visible)
overflow-y: (任何值除了visible)5
position: fixed
7、神奇的w3c塌陷
什么都不说,先看看效果吧
<style>
#a{
background-color: red;
height:130px;
width:200px;
margin-bottom: 20px;
}
#sub_a{
margin-top:30px;
background-color: blue;
height:100px;
width:150px;
}
</style>
<div id="a">
<div id="sub_a"></div>
</div>
这是外边距叠加collapsing-margin问题,collapsing不是浏览器bug而是W3C标准哦。请看如下这段:
In CSS, the adjoining margins of two or more boxes (which might or might not be siblings) can combine to form a single margin. Margins that combine this way are said to collapse, and the resulting combined margin is called a collapsed margin.
在CSS中,两个或多个毗邻(父子元素或兄弟元素)的普通流中的块元素垂直方向上的 margin 会发生叠加。这种方式形成的外边距即可称为外边距叠加(collapsed margin)。
- 上一篇文章:网页背景图片不重复怎么设置
下一篇文章:div完美自适应动态上下左右居
优化电话:028-86922220 13518219792 公司地址:成都市太升南路288号锦天国际A幢1002号
支持信箱:service@cdxwcx.com 版权所有:创新互联-供最优势的搜索引擎排名优化 蜀ICP备13010860号
创新互联成都专业网站优化推广:网站排名,成都优化排名,成都网站优化,成都关键词优化,百度排名优化,百度快照优化