css笔记

快捷键:

        shift+alt+向下方向键     把上一行复制到下一行

        ctrl + /                            加注释

        

浮动 float

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>浮动</title>
    <style>
        .box1{
            width: 200px;
            height: 200px;
            background-color: blanchedalmond;
            float: left;
        }
        .box2{
            width: 300px;
            height: 300px;
            background-color: blue;
            float: left;
        }
        .box3{
            width: 100px;
            height: 100px;
            background-color: black;
            float: left;
        }
    </style>
</head>
<body>
        <div class="box1"></div>
        <div class="box2"></div>
        <div class="box3"></div>
</body>
</html>

 

 float其他特点

 

 浮动不会覆盖文字

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>浮动</title>
    <style>
        .box1{
            width: 100px;
            height: 100px;
            background-color: blanchedalmond;
            float: left;
        }
        .box2{
            
            background-color: blue;
            
        }
        .s1{
            width: 100px;
            height: 100px;
            background-color: wheat;
            /* 设置浮动后 设置的宽高将不再被行内元素限制 */
            /* float: left; */
        }
    </style>
</head>
<body>
        <div class="box1"></div>
        <p>
            打发打发手动打发手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打打发手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打打发手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打打发手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打打发手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打手动阀手动阀手动阀打撒打算多发多发发的发的发射点发射点发射点发射点发射点大沙发手动阀手动阀打发手动阀打发士大夫的说法大撒旦发射点发射点发
        </p>
        
        <div class="box2">hello</div>
        <span class="s1">span</span>
</body>
</html>

 float练习:导航条练习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>导航条</title>
    <link rel="stylesheet" href="../../reset.css">
    <style>
        
        .nav{
            /* 设置宽度和高度 */
            width: 1210px;
            height: 48px;

            background-color: thistle;

            margin: 100px auto;
        }
        .nav li{
            /* 设置li想做浮动,已使菜单横向排列 */
            float: left;

            /* 设置li的高度 */
            /* height: 48px; */

            /* 将文字在父元素中垂直居中 */
            line-height: 48px;
            
        }
        
        .nav a{
            /* 需要修改a行内元素的行和列大小,所以需转换成块元素 */
            display: block;
            
            /* 去除下划线 */
            text-decoration: none;

            color: #000;

            /* 设置字体大小 */
            font-size: 18px;

            padding: 0 73px;
        }

        /* 鼠标移入效果 */
        .nav a:hover{
            background-color: aqua;
            color: blueviolet;
        }

    </style>
</head>
<body>
    <!-- 导航条结构 -->
    <ul class="nav">
        <li>
            <a href="#">gao</a>
        </li>
        <li>
            <a href="#">xiu</a>
        </li>
        <li>
            <a href="#">qi</a>
        </li>
        <li>
            <a href="#">gao</a>
        </li>
        <li>
            <a href="#">xiu</a>
        </li>
        <li>
            <a href="#">qi</a>
        </li>
        <li>
            <a href="#">gao</a>
        </li>
    </ul>
</body>
</html>

高度塌陷和BFC

 

 浮动后出现高度塌陷

 

 

 

 解决后:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../../reset.css">
    <style>
        .outer{
            border: 10px red solid;
            
            /* 解决 高度塌陷问题*/
            overflow: hidden;
        }
        .inner{
            width: 100px;
            height: 100px;
            background-color: rgb(12, 4, 4);
            float: left;
        }
    </style>
</head>
<body>
    <div class="outer">
        <div class="inner">

        </div>
    </div>
    <div style="width: 100px; height:200px;background-color: royalblue;"></div>
</body>
</html>

BFC演示

 被浮动覆盖

开启BFC后 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../../reset.css">
    <style>
        .box1{
            width: 200px;
            height: 200px;
            background-color: saddlebrown;
            float: left;
        }

        .box2{
            width: 200px;
            height: 200px;
            background-color: seagreen;
            /* 开启BFC 不会被浮动元素覆盖 */
            overflow: hidden;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
        <div class="box2"></div> 
</body>
</html>

clear

        

 

 

 clear:right;

 clear:left;

 clear:both;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../../reset.css">
    <style>
            .box1{
            width: 200px;
            height: 200px;
            background-color: saddlebrown;
            float: left;
        }

        .box2{
            width: 400px;
            height: 400px;
            background-color: seagreen;
            overflow: hidden;
            float:right
        }

        .box3{
            width: 200px;
            height: 200px;
            background-color: rgb(1, 2, 2);

            /* 解决高度塌陷, */
            clear: both;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</body>
</html>

after

添加div清除浮动格式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../../reset.css">
    <style>
        .box1{
            border: 10px red solid;

        }
        .box2{
            width: 100px ;
            height:  100px ;
            background-color: rgb(151, 91, 91);
            float: left;
        }
        /* box3把box1撑起来了,清除了box2浮动的影响 */
        .box3{
            clear: both;
        }
    </style>
</head>
<body>
    <div class="box1">
        <div class="box2"></div>
        <div class="box3"> aa </div>
    </div>
</body>
</html>

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../../reset.css">
    <style>
        .box1{
            border: 10px red solid;

        }
        .box2{
            width: 100px ;
            height:  100px ;
            background-color: rgb(151, 91, 91);
            float: left;
        }
        /* after默认行内元素:不独占一行 */
        /* after 选中的是box1的最后 */
        .box1::after{
            /* 与after和before配合使用,负责在元素头或尾,插入生成内容 */
            content: 'hello';
            /* 行内元素转块元素 */
            display: block;

            clear: both;
        }
    </style>
</head>
<body>
    <div class="box1">
        <div class="box2"></div>
    </div>
</body>
</html>

 clearfix

 问题:不是只有box2移动而是box1也移动了下来

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../../reset.css">
    <style>
        .box1{
            width: 200px;
            height: 200px;
            background-color: rosybrown;
        }
        .box2{
            width: 100px;
            height: 100px;
            background-color: royalblue;
            margin-top: 100px;
        }
    </style>
</head>
<body>
    <div class="box1">
        <div class="box2"></div>
    </div>
</body>
</html>

解决:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../../reset.css">
    <style>
        .box1{
            width: 200px;
            height: 200px;
            background-color: rosybrown;
        }

          /* 行元素转成块元素  table可以隔开且不会占空间 */
        /* 第一种方法 */
        /* .box1::before{
            content: '';
          
            display: table;
        } */
        .box2{
            width: 100px;
            height: 100px;
            background-color: royalblue;
            margin-top: 100px;
        }
        
        /* 第二种方式 */
        /* clearfix 这个样式可以同时解决高度塌陷和外边距重叠问题,直接在class的box 后加clearfix */
        .clearfix::before,
        .clearfix::after{
            content: '';
            display: table;
            clear: both;
        }
    </style>
</head>
<body>
    <div class="box1 clearfix">
        <div class="box2"></div>
    </div>
</body>
</html>

相对位置

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值