美文网首页
2018-09-19 day23-css布局

2018-09-19 day23-css布局

作者: rzlong | 来源:发表于2018-09-19 19:04 被阅读0次

    标准流和display

    <!-- 
        1.标准流:浏览器对标签默认的布局方式就是标准流 
        2.标准流布局原则:
        块级: 块级标签一个占一行(不管标签的宽度是否是父标签的宽度)。
            默认宽度是浏览器的宽度,默认的高度是内容的高度。    
            直接设置宽、高有效
        行内块标签:
            多个行内块可以一行显示
            默认的宽、高是内容的宽、高
            行内块标签直接设置宽、高有效
        行内标签:
            多个行内可以在一行显示
            默认的宽、高是内容的宽、高
            直接设置宽、高无效
        3.display属性:转换标签的性质
        block:块级
        inline:行内
        inline-block:行内块
        注意:行内块标签和其他标签之间默认有间隙,而且这个间隙无法消除
        
        
    -->
    
    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                a{
                    width: 100px;
                    height: 50px;
                    font-size: 20px;
                }
                .div_head{
                    height: 200px;
                    background-color: #7FFF00;
                }
                .div_body{
                    display: inline-block;
                    background-color: #5F9EA0;
                    width: 30%;height: 300px;
                }
                .div_body2{
                    display: inline-block;
                    background-color: #8B008B;
                    width: 38%;
                    height: 300px;
                }
                .div_body3{
                    display: inline-block;
                    background-color: #5F9EA0;
                    width: 30%;
                    height: 300px;
                }
            </style>
        </head>
        <body>
            
            <div style="background-color: #8B008B;width:1000px; height:200px;">
                <ul>
                    <li><a href="">提莫</a></li>
                    <li><a href="">小炮</a></li>
                    <li><a href="">小法</a></li>          
                </ul>
            </div>
            <div class="div_head">
                
            </div>
            <div class="div_body">
                
            </div>
            
            <div class="div_body2">
                
            </div>
            
            <div class="div_body3">
                
            </div>
        </body>
    </html>
    
    

    效果:



    浮动

    <!--
        通过给float属性赋值为left或right让标签浮动,浮动会让标签脱流。
        浮动的目的就是让垂直显示的可以水平显示(针对块)
        
        
        2.浮动的效果
        a.所有的标签浮动后,一行可以显示多个;默认的宽、高是内容的大小,可以设置宽度和高度。
        b.一行显示不了的时候才会自动换行
        
        3.注意事项
        a.如果同一级的标签,后面的需要浮动,前面也要浮动
        b.浮动的标签不占池底,只占水面的位置,不浮动的不动
    -->
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                .div_body{
                    float:left;
                    width:100px;
                    height: 50px;
                }
                .a_float{
                    float:left;
                    width: 200px;
                    height: 100px;
                }
                
            </style>
        </head>
        <body>
            <div class="div_body" style="background-color: blanchedalmond;"></div>
            <div class="div_body" style="background-color: aqua;"></div>
            <a  href="" class="a_float" style="background-color: #8B008B;">百度一下</a>
            <a href="" class="a_float" style="background-color: darkblue;">Rng S8冠军</a>
        </body>
    </html>
    
    

    效果:



    浮动(文字环绕)

    <!--
        文字环绕效果
        让被环绕的对象浮动,文字不浮动。
        
    -->
    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
            <div style="width: 300px;">
                <img style="float: left;" src="img/logo-jd.png" />
                <p>京东(JD.com)是中国一家自营式B2C购物网站,创始人刘强东担任京东集团CEO。
                    旗下设有京东商城、京东金融、拍拍网、京东智能、O2O及海外事业部。2013年正式获得虚拟运营商牌照。
                    2014年5月,在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD)</p>
            </div>
        </body>
    </html>
    
    

    清除浮动

    <!--
        清除浮动:清除浮动不是将标签的浮动去掉,而是清除因为浮动产生的高度塌陷的问题。
        
        高度塌陷:父标签不浮动,子标签浮动,并且不设置父标签的高度,就会产生高度塌陷的问题(对父标签)
        
        方案1:添加空盒子,在高度塌陷的标签的后面添加一个空的div,并设置样式clear:both
        方案2:对父标签设置样式 overflow:hidden
        方案3:万能清除法
            
        
    -->
    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                /*方案2*/
                /*#father{
                    overflow: hidden;
                }*/
                /*方案3*/
                #father:after{
                display:block;
                clear:both;
                content:'';
                visibility:hidden;
                height:0;
            
                }
                #father{
                    zoom:1;
                }
            </style>
        </head>
        <body>
            <div style="height:200px;width: 100%;background-color: #8B008B;"></div>
            <div id="father" style="background-color: #7FFF00;">
                <div style="height:100px;width: 30%;float: left;background-color: aqua;"></div>
                <div style="height:200px;width: 40%;float: right;background-color: brown;"></div>
                <div style="height:250px;width: 50%;float: left;background-color:  burlywood;"></div>
            
                
            <!--方案1:添加空盒子-->
                <!--<div id="" style="clear:both;"></div>-->
            </div>
        </body>
    </html>
    
    

    效果:



    定位position

    <!--
        css中可以通过left、right、bottom、top属性来说设置标签的上下左右的距离(但是默认情况下这些值不是都有效的)
        如果想要让定位属性有效,通过position属性来设置参考对象。
        
        1.position
        initial:默认值,没有相对定位
        absolute:相对于最近的一个非static/initial的父标签,若没找到,就相对于body标签定位
        relative:相对于自己在标准流中位置来定位。(当标签本身不需要去定位,只是想让自己的字标签可以相对本身来定位的时候使用)
        fixed:相对于浏览器定位
        sticky:当网页的内容不滚动(超过一个屏)的时候,按照标准流定位。超过了就相对浏览器定位。
        
        2.注意: 如果想要设置right值时,要保证相对标签的宽度是确定的,同理,想要设置bottom值要保证相对对象的高度是确定的。
        
        3.技巧:当某个方向的定位无效的时候,可尝试让标签浮动再定位。
        
        
        
    -->
    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                #div2{
                    top:50px;
                    left:100px;
                    position: absolute;
                    
                }
                #div1{
                    position: absolute;
                    top: 300px;
                }
                
            </style>
        </head>
        <body>
            <!--
                作者:offline
                时间:2018-09-19
                描述:absolute
            -->
            <!--<div id="div1" style="background-color: #8B008B;width: 800px;height: 480px;">
                <div id="div2" style="background-color: brown;width: 300px;height:200px;"></div>
                
            </div>-->
            
            
            <!--
                作者:offline
                时间:2018-09-19
                描述:relative
            -->
            <!--<div style="background-color: darkblue;height: 100px;">
            </div>
            <div style="background-color: darkgoldenrod;height:100px;width: 200px;position: relative;top: 100px;">
                
                <div style="background-color: darkgreen;height:80px;width: 180px;position: absolute;left: 200px;top: 100px;"></div>
            </div>-->
            
            
            <!--
                作者:offline
                时间:2018-09-19
                描述:fixed
            -->
            <div style="height: 1000px;background-color: cadetblue;"></div>
            <div style="background-color: blueviolet;position: fixed;right: 10px;bottom: 50px;">
                <a href="#" style="display: inline-block;">回到顶部</a>
            </div>
            
            
            
            <!--
                作者:offline
                时间:2018-09-19
                描述:sticky
            -->
            <!--<div style="height: 100px;background-color: cadetblue;"></div>
            <div style="background-color: blueviolet;position: sticky;right: 10px;bottom: 50px;">
                <a href="#" style="display: inline-block;">回到顶部</a>
            </div>-->
            
        </body>
    </html>
    
    

    效果:



    盒子模型

    <!--
        html中所有可见的标签都是一个盒子模型。包含长和宽决定内容的大小、padding、border、margin四个部分
        其中内容、padding、border是可见的,margin不可见。
        
        1.内容: 设置width和height影响的就是内容部分的大小。添加子标签、添加内容
        
        2.padding: 在内容的外围, 可见部分,如果标签有背景颜色,那么这个部分的颜色和内容一致
        
        3.border: 边框, border是在padding的外围,如果没有padding就在内容的外围,可见部分。可以设置颜色和大小。
        
        4.margin:不可见部分,在border的外围,可用于移动整个块
    -->
    
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                div{
                    background-color: aqua;
                    /*content*/
                    width: 100px;
                    height: 80px;
                    /*padding*/
                    /*padding: 20px 20px 20px 40px;*/ /*上右下左*/
                    /*padding: 30px;*/ /*所有方向*/
                    padding-top: 40px;
                    padding-left: 40px;
                    
                    /*border:宽度 样式 颜色*/
                    border: 10px dashed #7FFF00 ;
                    border-left:10px solid #8B008B;/*设置左边*/     
                    
                    
                }
            </style>
        </head>
        <body>
            <input type="text" name=""/>
            <div>
                content
            </div>
        </body>
    </html>
    
    

    其他属性

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                .p1{
                    font-family: wst_fren ;
                    font-size: 20px;
                    font-weight: 900; /*字体加粗程度*/
                    font-style:  initial;
                    background-color: chocolate;
                    height: 100px;
                    line-height: 100px; /*若只对一行文字垂直居中,可以设置 line-height和height一样*/
                    text-align: center; /*水平居中*/
                    
                }
                .a1{
                    text-decoration: none;
                    /*
                    none:去下划线
                     underline:有下划线
                     overline: 上划线
                     line-through:添加下划线
                    */  
                }
                .p2{
                    text-indent: 2em; /*首行缩进2字符*/
                }
                .p3{
                    letter-spacing: 5px;/*字间距*/
                }
                .ul1{
                    
                    list-style-type: devanagari;
                }
                /*设置背景图片*/
                .pic{
                    width: 300px;
                    height:150px;
                    background: url(img/logo-jd.png) no-repeat center center yellow;
                    border-radius: 100px 100px 30px 30px;  /*设置圆角*/
                }
               
                }
            </style>
                    
        </head>
        <body>
            <p class="p1"> everything is about sex, except sex, sex is about power</p>
            <a href="#" class="a1">please choose one</a>
            <p class="p2">everything is about sex, except sex, sex is about power</p>
            <p class="p3">everything is about sex, except sex, sex is about power</p>
            <ul class="ul1">
                <li>everything is about sex</li>
                <li>everything is about sex</li>
                <li>everything is about sex</li>
            </ul>
            <div class="pic"></div>
            
        </body>
    </html>
    
    

    效果:


    相关文章

      网友评论

          本文标题:2018-09-19 day23-css布局

          本文链接:https://www.haomeiwen.com/subject/umainftx.html