HTML--day02

1.1容器盒子

Box-size:设置盒子模型,CSS3标准,

content-box:正常默认模式,起源于谷歌,元素的整体大小会被内边距和边框撑开

border-box:怪异模式,起源于IE,元素的整体大小不会被内边距和边框撑开

Width:宽度

Height:高度

注意:width,height会根据box-size盒子模型的不同来决定是内容的宽度和高度,还是整个元素大小的宽度和高度。

Padding:内边距

Padding-left,padding-right,padding-top,padding-bottom

Padding:上 右 下 左;

Padding:上 右 下;左边距等于右边距

Padding:上 右;下跟上边一样,左跟右一样

Margin:外边距

外边距跟内边距一致。但是两个元素的外边距会重叠。

Border:边框

语法:border: 边框宽度 边框样式 颜色;

Display:设置盒子是块级元素还是行级元素还是弹性元素

Block:块级元素,会占据一整行,有宽高,div,h1,p,li,ul...

inline-block:行块元素,不会占据一整行,有宽高,img...

inline:行元素,不会占据一整行,也没有宽高,a,span...

Border-radius:边框的圆角

Background:设置元素的背景,背景图片,背景颜色

Background:是一个综合性的属性,可以分出背景颜色,背景图片,背景是否重复,背景图片的位置,背景图片的大小

Background-color:背景颜色

Background-image:设置背景图片,可以放置多张背景图片,中间用逗号隔开,越写在前面,层级越高。

Background-repeat:设置背景图片是否重复,可以设置no-repeat,repeat,repeat-x,repeat-y;

Background-position:设置背景图片的位置,left,right,top,bottom,center,百分比一般可以设置2值,第一个值是设置水平位置,第二个值设置垂直位置

Background-size:设置背景图片的大小,注意:有时候不知道图片的确切比例的时候,只需要设置一个宽度或者高度,另外一个值设置为auto即可。

2.2浮动

浮动元素会寻找父元素的边缘或者是同样浮动元素的边缘,紧紧的靠拢在一起。

优点:

1、可以让文字包围图片。

2、可以去掉莫名其妙的间距

3、可以让内容向左和向右排布

缺点:

父元素高度塌陷

原因:使用了浮动的元素,会脱离正常的文档流,使其父元素找不到子元素,从而认为自己内部没有元素,所以没有高度。

解决方案:

1、给父元素设置高度

2、万能的解决方案

示例代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .parent{
                width: 900px;
                /*height: 600px;*/
                border: 1px solid #000;
                margin: 20px auto;
            }
            
            .child{
                width: 200px;
                height: 200px;
                background: skyblue;
                display: inline-block;
                
            }
            
            
            .left{
                float: left;
            }
            
            .right{
                float: right;
            }
            
            /*
             解决方案:清除浮动
             1、在父元素的最后面加上一个div
             2、设置这个div的样式为:clear:both;
             
             缺点:多了1个div,结构比较混乱
             * */
            
            /*
             完美升级方案:
             1、使用伪元素创建一个假的元素,:after在元素的最后面创建一个假的子元素
             2、设置这个假的元素为块级元素
             3、清除左右浮动clear:both
             * */
            
            .clear:after{
                content: "";
                display: block;
                clear: both;
            }
        </style>
    </head>
    <body>
        <div class="parent">
            <!--只有class才可以同时放置多个class,中间用空格隔开-->
            <div class="child left"></div>
            <div class="child right"></div>
            <div class="child right"></div>
            
            <div style="clear: both;"></div>
        </div>
        
        
        <div class="parent clear">
            <!--只有class才可以同时放置多个class,中间用空格隔开-->
            <div class="child left"></div>
            <div class="child right"></div>
            <div class="child right"></div>
            
            
        </div>
    </body>
</html>

3.定位 Position

相对定位relative

语法:postion:relative;

特点:相对于自身进行位移,只是样子进行了移动,其实还是会牢牢占据原来的位置,不会影响到整个布局的变化

绝对定位absolute

语法:postion:absolute

特点:脱离正常的文档流,不会占据原来的位置。相对于设置了定位的父元素或者是祖先元素。

固定定位fixed

语法:position:fixed

特点:脱离正常的文档流,不会占据原来的位置。相对于浏览器进行定位

层:z-index

语法:Z-index:数字;

解析:z-index可以设置统一级别下,使用了定位的层级关系。z-index值越大,层越在上面。默认情况下,所有元素的z-index值为0。没有使用定位的元素,不可用。

原文地址:https://www.cnblogs.com/WhiperHong/p/10935118.html