因为浏览器的兼容问题,不同的浏览器对有些标签的默认值是不同的,如果没有初始化CSS,往往会导致页面在不同浏览器之间出现差异
当然,初始化样式有时会对SEO产生一定的影响,但两者不可兼得,因此在最小影响下初始CSS
最简单的初始化方法是
*{margin:0;padding:0}
确定容器的宽高
div {
float : left ;
width : 400px ;
height : 200px ;
margin : lOOpx 0 0 -200px;
/*注意 由于左上外地距优先级高于右下外边距优先级,因此,还可以简化设置 margin - 150px -250px;*/
position relative;
left : 50% ;
top : 50
户为方便看效果,添加一种背景色
background-color : pink ;
}
选择器{
属性名1:属性值
}
display的值有block,none,inline,inline-block,list-item,table,inherit
block是指块类型,默认宽度为父元素宽度,可设宽高,换行
none元素不显示,脱离文档流
inline是指行内元素类型,默认宽度为内容宽度,不可设置宽高,换行
inline-block是指默认宽度为内容宽度,可以设直宽高, 同行显示
list-item是指像块类型元素一样显示,并添加样式列表标记
table是指元素会作为块级表格显示
inherit是指从父元素继承display属性的值
块级元素的前后会自动换行,默认情况下,块级元素会独占一行,当显示这些元素中间的文本时,都将从行中开始显示,其后的内容也将新行中显示
行内元素可以和其他行内元素位移同一行,在浏览器显示不会换行,不能设置宽高
还有一种元素是行内块元素,可以和其他行内元素位于同一行,同时可以设置宽高
<div class='container'>
<div class= 'main' >
<h2>aaa</h2>
</div>
<div class ='ft'>左边内容</div>
<div class 'right' >右边内容</div>
</div>
css
. container div {
height : 200px ;
}
. container {
padding : 0 200px ;
}
. main ,
. left ,
. right {
position : relative ;
float : left ;
}
. left ,
.right {
width : 200px ;
}
. main {
width : 100%
background : yellow ;
}
left {
background : blue ;
margin - left : 100px
left : - 200px ;
}
. right {
background : green ;
margin- left : - 200px ;
left : 200px ;
}
浮动的元素可以向左或向右移动 直到它的外边缘碰到包含元素(父元素)或另一个浮动元素的边框为止,要想使元素浮动 必须为元素设直一个宽度(width).
虽然浮动元素已不在文档流中,但是它浮动后所处的位置依然在浮动之前的水平方向上
因为浮动元素不在文档流中,所以文档流中的块元素表现得就像浮动元素不存在一样,下面的元素会填补原来的位置
有些元素会在浮动元素的下方,但是这些元素的内容并不一定会被浮动的元素遮盖
当定位内联元素时,要考虑浮动元素的边界,围绕浮动元素放直内联元素 也可以把浮动元素想象成被块元素忽略的元素,而内联元素会关注的元素
CSS Sprite其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的’background-image’,‘background-repeat’,'background-position’的组合进行背景定位,
background-position可以用数字精确的定位出背景图片的位置