HTML学习之四CSS盒子

CSS盒子模型

Content, padding(内补丁), border; margin(外补丁);

计算宽度,左右内外边界,左右内外边框,内容,左右内外边距。

如果上下左右四个参数,顺序:上右下左,依次写出padding: 0,0,0,0; 两个值:上下 左右;

三个值:上 左右 下。没有值的去对面找。

Padding-left, top, right, bottom.

使用外边距时注意浏览器兼容性

除了值为0的情况,其他所有值后面都要是像素为单位,加px。

基本上所有网站,都把padding 和margin设为0. 因为各浏览器都设置了内外边距的不同默认值。所以为了兼容性,将所有内外边距都设为0. 或都从0开始。

所以用到哪些元素,就把那些元素的默认值归零。用到哪些HTML元素,就重置他们的边距。因为他们有自己默认的边距,要控制它,就重置。

CSS模型主要通过盒子模型实现。

内容:width, height

边框:margin, padding.

继承性,有的继承,有的不能继承。

列表,符号都存在兼容性问题,所以:ul, ol {list-style:none;}都设为无。

边框border属性:border-width border-style border-color

如果只写border,那就直接跟着三个值。

单独控制一条边:border-top顺序一样。

margin:100px auto; 左右水平居中。

文字垂直居中:    height:50px;

line-height:50px;

CSS元素分类,块状,内联(行内)。

块状:改变:{display:block}。可以容纳内联元素和其他元素。但是排斥同一行内的其他元素。内敛元素中能容纳文本或者其他内联元素,但是宽高不起作用。

Display设置对象如何显示。

可以将某个元素从内联改为block。用display。都有默认值,有的是inline,有的是block。

背景:background:颜色 图片 平铺方式(重复) 固定方式 位置

图片默认:水平、垂直平铺。默认左上角显示。

background-color:gold;

background-image:url(../pic/bupt.jpg);

background-repeat:no-repeat; 不让它平铺。

background-position:right bottom; 设定位置。

background-position:50px 30px; 横坐标,纵坐标。

background-attachment:fixed;/scroll;背景图片是否随着背景滚动。依附方式。将图片固定在屏幕某个地方,而不是盒子某个地方。

Ie6只有HTML 和body支持这个属性。

图片的翻转效果:两张大小相同,内容不同,正常显示一张。鼠标经过显示另一张。

CSS精灵技巧,为了减少http请求。将两个颜色不同的内容一样的图片合为一张图片,调整其位置。

 

Div+css页面布局。

1.       默认。Html结构顺序。

2.       浮动属性:float:center;

3.       定位。屏幕某个位置。

#two {background:green;position:absolute

top:50px; left: 150px;}

浮动:取消元素的霸道属性(独占一行!)后面的元素将视其不存在。只有两个:要么left要么right。

飘到父元素边界。

浮动的元素相当于消失了,原来霸占的地方就空了。后面的元素补充。存在浏览器兼容性。

浮动布局几个图片:飘起来啦!

#p1 {float:left; margin:30px;}

#p2 {float:left;margin:30px;}

#p3 {float:left;margin:30px;}

#p4 {float:left;margin:30px;}

  •  

  •  

  •  

  • 有的兼容,有的不兼容,就可能挡住了,看不到了。

    清楚浮动:虽然前面的没有了,但是后面的不要占据人家的位置,仍然在自己的地方。

    不允许其哪个方向有浮动。Clear:none/left/right/both

    clear:both;保证不随浏览器大小改变,浮动元素相对位置改变。

    常见博客,网页等布局。

    #head {background:red;height:100px; }

    #left {background:green;float:right;width:400px;height:300px;float:left;clear:left;}

    #right {background:blue;width:200px;height:200px; clear:left;float:right;}

    #foot {background:gold;height:200px; clear:left;height:50px;clear:both;}

     

    #header {margin:0 auto;}默认铺满。设定宽度后,则居中。

    如果让同一行的两个盒子居中,那么在外面加一个大盒子,一定要有宽度,否则默认全屏幕。

    同一行的浮动同方向。

    清除浮动的方法:主要对后面元素的影响。但是对父元素也会有影响。

    当父元素没有指定高度是,它的子元素有浮动,其父元素的高度不会增加。

    1.       额外标签法。在最底下加一个空盒子(没有内容)。

    强迫容器能够容纳所有浮动元素。

    2.       Overflow:auto。根据子元素的需要增加宽度。Hidden:切除多余部分。Scroll显示滚动条。但是如果子元素出现定位,那就有问题了。

     

    上述两种方法:等价表示:1.在大盒子最底下:

    2.在大盒子定义中:overflow:hidden。

    效果相同。

    注意:想要使用绝对定位时,要有两个条件:

    1.       必须给父元素加定位属性,position:relative。

    2.       给子元素加绝对定位: position:absolute。

    3.       利用伪对象,after。

     

    你可能感兴趣的:(HTML学习)