day04

作者: 喑哑先生 | 来源:发表于2017-08-16 21:05 被阅读0次

    今天我学到了什么

    1.盒子模型

    1.1:box-sizing:border-box
    
    当设置box-sizing:border-box时;
    设置padding,和border,它的宽度还是会保持不变
    例://HTML
    <div></div>
    //css
    div{
                border:10px solid #333;
                padding:20px;
                box-sizing: content-box;
                width:100px;
                height:100px;
                background-color: red;
            }
    当设置padding和border时宽度会发生改变
    总宽度=width+border+padding
    box-sizing:content-box;(默认清晰)
    //没有图像,
    
    1.2实现元素居中
    margin-left:auto;
    margin-right:auto;
    

    2、浮动float

    /HTML
    <ul>
        <li>手机</li>
        <li>电视</li>
        <li>平板</li>
    </ul>
    //CSS
     *{margin:0;padding:0}
            li{float: left}
    float:left/right/top/bottom
    //目的:为了让元素并排显示
    

    3、如何清除浮动

    (1)给下面的兄弟元素给clear:both;
    //HTML
    <div class="one"></div>
    <div class="two"></div>
    //CSS
     .one{
                width:100px;
                height:50px;
                background-color: red;
                float: left;
            }
            .two{
                clear: both;
                width:200px;
                height:50px;
                background-color: yellow;
            }
    
    (2)给父级加overflow:hidden;
    //HTML
    <div class="parent">
        <div class="one"></div>
    </div>
    //css
      .one{
                width:100px;
                height:100px;
                background:red;
                float: left;
            }
            /*子级float,父级没有高度,如何让父级有高度*/
            .parent{
                overflow: hidden;
                width:200px;
                background:yellow;
                  }
    
    (3)用伪元素,给父级内容生成
    
    .row:before{ display:table; content:”” }
    
    .row:after{ display:table; display:table; content:””;clear:both;
    
    例://HTML
    <div class="parent">
        <div class="one"></div>
    </div>
    //css
      .one{
                width:100px;
                height:100px;
                background:red;
                float: left;
            }
            /*子级float,父级没有高度,如何让父级有高度*/
            .parent{
                /*overflow: hidden;*/
                width:200px;
                background:yellow;
                      }
            .parent:after{
                content:"";
                display: table;
                clear:both;
            }
    

    4定位

    4.1position:absolute | relative
    position:relative(相对定位)
    //相对定位元素的定位是相对其正常位置。
    position:absolute (绝对定位)
    position:absolute | relative都position:absolute ,top,right,bottom移动
    
    例:
    没有设置已定位的父元素,position:absolute 通过left移动
    //HTML
    <div class="one">
        <div class="two"> </div>
    </div>
    //css
       *{margin:0;padding:0}
            /*相对定位:就是元素在页面上正常的位置*/
            .one{
                margin-left:100px;
                width:100px;
                height:100px;
                background-color: red;
            }
            .two{
                width:50px;
                height:50px;
                background-color: yellow;
                position: absolute;
                left:0;
               }
    
    利用float和display实现导航
    //HTML
    <ul>
    <li><a href="#">手机</a></li>
    <li><a href="#">平板</a></li>
    <li><a href="#">电脑</a></li>
    </ul>
    //CSS
     *{
    margin:0;
       padding:0;
    }
     a{
      text-decoration: none;
       display: block;
       color:white;
    }
     ul{
         list-style: none;
         overflow: hidden;
         background:pink
    }
      li{
    float:left;
    line-height: 50px; 
    width:100px;
    text-align:center;
    }
     a:hover{
    color:gainsboro;
    background-color: deeppink;
    }
    
    4.2 z-index
    //HTML
    <div class="parent">
        <div class="one"> </div>
        <div class="two"></div>
    </div>
    //CSS
      /*z-index:可以给绝对定位的元素,设置它们的堆叠顺序*/
            .parent{
                width:300px;
                height:300px;
                background-color: red;
                position: relative;
            }
            .one{
                z-index: 100;
                position: absolute;
                width:100px;
                height:50px;
                background-color: green;
            }
            .two{
                z-index:90;
                position: absolute;
                width:50px;
                height:50px;
                background-color: pink;
            }
            .parent:hover .one{
                z-index: 80;
            }
    z-index:设置元素的堆叠顺序 给position:absolute绝对定位的元素
    
    4.3例子:用position实现搜索框
    //HTML
    div class="center">
        <input type="text" placeholder="搜素"/>
        <a></a>
    </div>
    //CSS
    *{margin:0;padding: 0;}
            div{
                width:250px;height:40px;margin-top:15px;
                position:relative;
            }
            input{
                box-sizing: border-box;
                width:250px;
                outline: none;
                padding-left:20px;
                height: 38px;
                font-size: 14px;
                border: 1px solid #eee;
                border-radius: 40px;
                background: #eee;
            }
            a{
                cursor: pointer;
                width:24px;
                height:24px;
                display: block;position:absolute;top:9px;right:5px;
                background:url(images/icon4.png) no-repeat
            }
            input:focus div{width:300px;}
    注://***当子元素没有设置宽度,如果设置了绝对定位,它不会继承父元素的宽度
    

    5、实现元素的垂直水平居中

    //HTML
    <body>
    <div class="one">
    <div class="two"></div>
    </body>
    </div>
    //CSS
       *{
                margin:0;
                padding:0}
            .one{
                width: 500px;
                height: 500px;
                background-color: green;
                position:relative}
            .two{
                width :100px;
                height:100px;
                background: red ;
                position:absolute;
                left:50%;
                top:50%;
                margin-left:-50px;
                margin-top:-50px;
            }父元素设置parent{position:relative;}
    子元素设置child{
    position:absolute;
    left:50%;
    top:50%;
    margin-left:-50%*child*width;
    margin-top:-50%*child*height;
    }
    

    6、CSS样式的几种引入方式

    外部样式:<link rel="stylesheet" type="text/css" href="/c5.css">
    内部样式表(位于 <head> 标签内部):<style>
    p{color:pink;font-size:16px}
    </style>
    内联样式(在 HTML 元素内部):
    <p style=”color:pink;font-size:16px”>hello world</p>
    注:给同一选择器设置同一样式,离元素近的样式设置方式优先级高
    

    B、今天掌握了什么

    1、css盒子模型

    //HTML
    <div></div>
    //css
    div{
                border:10px solid #333;
                padding:20px;
                box-sizing: content-box;
                width:100px;
                height:100px;
                background-color: red;
            }
    当设置box-sizing:border-box时;
    设置padding,和border,它的宽度还是会保持不变
    
    margin-left:auto;
    margin-right:auto;
    给父级加text-align: center;(元素水平居中)
    

    如何清除浮动

    HTML
    <div class="one"></div>
    <div class="two"></div>
    //CSS
     .one{
                width:100px;
                height:50px;
                background-color: red;
                float: left;
            }
            .two{
                clear: both;
                width:200px;
                height:50px;
                background-color: yellow;
            }给下面的兄弟元素给clear:both;
    
    //HTML
    <div class="parent">
        <div class="one"></div>
    </div>
    //css
      .one{
                width:100px;
                height:100px;
                background:red;
                float: left;
            }
            /*子级float,父级没有高度,如何让父级有高度*/
            .parent{
                overflow: hidden;
                width:200px;
                background:yellow;
                  }
    给父级加overflow:hidden;
    
    //HTML
    <div class="parent">
        <div class="one"></div>
    </div>
    //css
      .one{
                width:100px;
                height:100px;
                background:red;
                float: left;
            }
            /*子级float,父级没有高度,如何让父级有高度*/
            .parent{
                /*overflow: hidden;*/
                width:200px;
                background:yellow;
                      }
            .parent:after{
                content:"";
                display: table;
                clear:both;
            }
    用伪元素,给父级内容生成
    
    .row:before{ display:table; content:”” }
    
    .row:after{ display:table; display:table; content:””;clear:both;
    

    定位

    没有设置已定位的父元素,position:absolute 通过left移动
    //HTML
    <div class="one">
        <div class="two"> </div>
    </div>
    //css
       *{margin:0;padding:0}
            /*相对定位:就是元素在页面上正常的位置*/
            .one{
                margin-left:100px;
                width:100px;
                height:100px;
                background-color: red;
            }
            .two{
                width:50px;
                height:50px;
                background-color: yellow;
    
                position: absolute;
                left:0;
               }
    
    
    利用float和display实现导航
    //HTML
    <ul>
    <li><a href="#">手机</a></li>
    <li><a href="#">平板</a></li>
    <li><a href="#">电脑</a></li>
    </ul>
    //CSS
     *{
    margin:0;
       padding:0;
    }
     a{
      text-decoration: none;
       display: block;
       color:white;
    }
     ul{
         list-style: none;
         overflow: hidden;
         background:pink
    }
      li{
    float:left;
    line-height: 50px; 
    width:100px;
    text-align:center;
    }
     a:hover{
    color:gainsboro;
    background-color: deeppink;
    }
    
    position:absolute | relative都position:absolute ,top,right,bottom移动
    

    z-index

    z-index:设置元素的堆叠顺序 给position:absolute绝对定位的元素
    //HTML
    <div class="parent">
        <div class="one"> </div>
        <div class="two"></div>
    </div>
    //CSS
      /*z-index:可以给绝对定位的元素,设置它们的堆叠顺序*/
            .parent{
                width:300px;
                height:300px;
                background-color: red;
                position: relative;
            }
            .one{
                z-index: 100;
                position: absolute;
                width:100px;
                height:50px;
                background-color: green;
            }
            .two{
                z-index:90;
                position: absolute;
                width:50px;
                height:50px;
                background-color: pink;
            }
            .parent:hover .one{
                z-index: 80;
            }
    

    用position实现搜索框

    //HTML
    div class="center">
        <input type="text" placeholder="搜素"/>
        <a></a>
    </div>
    //CSS
    *{margin:0;padding: 0;}
            div{
                width:250px;height:40px;margin-top:15px;
                position:relative;
            }
            input{
                box-sizing: border-box;
                width:250px;
                outline: none;
                padding-left:20px;
                height: 38px;
                font-size: 14px;
                border: 1px solid #eee;
                border-radius: 40px;
                background: #eee;
            }
            a{
                cursor: pointer;
                width:24px;
                height:24px;
                display: block;position:absolute;top:9px;right:5px;
                background:url(images/icon4.png) no-repeat
            }
            input:focus div{width:300px;}
    //***当子元素没有设置宽度,如果设置了绝对定位,它不会继承父元素的宽度
    

    CSS样式的几种引入方式

    外部样式:
    <link rel="stylesheet" type="text/css" href="/c5.css">
    内部样式表(位于 <head> 标签内部):
    <style>
    p{color:pink;font-size:16px}
    </style>
    内联样式(在 HTML 元素内部):
    <p style=”color:pink;font-size:16px”>hello world</p>
    

    3我今天没有掌握什么

    //HTML
    div class="center">
        <input type="text" placeholder="搜素"/>
        <a></a>
    </div>
    //CSS
    *{margin:0;padding: 0;}
            div{
                width:250px;height:40px;margin-top:15px;
                position:relative;
            }
            input{
                box-sizing: border-box;
                width:250px;
                outline: none;
                padding-left:20px;
                height: 38px;
                font-size: 14px;
                border: 1px solid #eee;
                border-radius: 40px;
                background: #eee;
            }
            a{
                cursor: pointer;
                width:24px;
                height:24px;
                display: block;position:absolute;top:9px;right:5px;
                background:url(images/icon4.png) no-repeat
            }
            input:focus div{width:300px;}
    //***当子元素没有设置宽度,如果设置了绝对定位,它不会继承父元素的宽度
    这里掌握不是很清除
    

    相关文章

      网友评论

          本文标题:day04

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