HTML+CSS基础入门-第十八天(CSS-布局的属性)

定位

  • left:左
  • right:右
  • top:上
  • bottom:下 离页面顶点的距离

positon定位方式

正常定位 relative

代码

<!DOCTYPE html>
<head>
    <title>CSS 布局的属性</title>
    <meta charset="utf-8">
    <style type="text/css">
        body{
            padding:0;
            margin:0;
        }

        div{
            width:300px;
            height:300px;
            background-color:green;
            position:relative;
            top:10px;
            left:10px;
        }

    </style>

</head>
<body>

    <div>好好学习天天向上</div>

</body>

显示结果

1801

总结

relative正常定位默认位置为左上 可设置定位距离(left,right,top,bottom)设置定位位置。

absolute

根据父元素进行定位

代码

<!DOCTYPE html>
<head>
    <title>CSS 布局的属性</title>
    <meta charset="utf-8">
    <style type="text/css">
        body{
            padding:0;
            margin:0;
        }

        div{
            width:300px;
            height:300px;
            background-color:green;
            position:relative;
            top:10px;
            left:10px;
        }
        span{
            background-color:yellow;
            position:absolute;
            top:-10px;
            right:0px;

        }

    </style>

</head>
<body>

    <div>
        <span>访问数量:999</span>

    </div>

</body>

显示结果

1802

总结

使用absolute的标签的父元素必须是relative。位置也是相对于父元素来定义。

fixed

根据浏览器父窗口进行定位

代码

<!DOCTYPE html>
<head>
    <title>CSS 布局的属性</title>
    <meta charset="utf-8">
    <style type="text/css">
        body{
            padding:0;
            margin:0;
        }

        .div{
            width:300px;
            height:300px;
            background-color:green;
            position:relative;
            top:10px;
            left:10px;
        }
        span{
            background-color:yellow;
            position:absolute;
            top:-10px;
            right:0px;

        }
        .fixed{
            background-color:yellow;
            position:fixed;
            top:100px;

        }
    </style>

</head>
<body>

    <div class="div">
        <span>访问数量:999</span>
    </div>
    <div class="fixed">
        <p>联系电话L12898767897</p>
        <p>联系qq:2897658908</p>
        <p>性别:女</p>
    </div>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>   <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>

</body>

显示结果

1803

总结

当你上下滑动页面时,fixed所定义的标签对定位在浏览器的位置,类似于页面中的客服等等。

static

没有定位

代码

<!DOCTYPE html>
<head>
    <title>CSS 布局的属性</title>
    <meta charset="utf-8">
    <style type="text/css">
        body{
            padding:0;
            margin:0;
        }

        .div{
            width:300px;
            height:300px;
            background-color:green;
            position:relative;
            top:10px;
            left:10px;
        }
        span{
            background-color:yellow;
            position:absolute;
            top:-10px;
            right:0px;

        }
        .fixed{
            background-color:yellow;
            position:static;
            top:100px;

        }
    </style>

</head>
<body>

    <div class="div">
        <span>访问数量:999</span>
    </div>
    <div class="fixed">
        <p>联系电话L12898767897</p>
        <p>联系qq:2897658908</p>
        <p>性别:女</p>
    </div>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>   <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>   <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
</body>

显示结果

1803

结论

所有的定位属性失效

inherit

继承

z-index

层覆盖优先级

代码

把上述代码中“fixed”放到“div”上面

    <div class="fixed">
        <p>联系电话L12898767897</p>
        <p>联系qq:2897658908</p>
        <p>性别:女</p>
    </div>
    <div class="div">
        <span>访问数量:999</span>
    </div>

显示结果

1804

代码

如果不改动代码的前提下吧下面的信息提到页面的顶层

        .fixed{
            background-color:yellow;
            position:fixed;
            top:100px;
            z-index:1;
        }

显示结果

1803

结论

默认z-index为0,z-index越大越显示在浏览器的顶层。

display

显示属性

  • none:层不显示
  • block:块状显示,在元素的后面换行,显示下一块元素
  • inline:内联显示,多个块可以显示在一行内

代码

<!DOCTYPE html>
<head>
    <title>CSS 布局的属性</title>
    <meta charset="utf-8">
    <style type="text/css">
        body{
            padding:0;
            margin:0;
        }
        p{
            display:none;
        }
        div{
            background-color:red;
            display:inline;
        }

        span{
            background-color:yellow;
            display:block;
        }
    </style>

</head>
<body>
    <p>我是不显示的</p>
    <div>div1</div>
    <div>div2</div>
    <div>div3</div>
    <span>span1</span>
    <span>span2</span>
    <span>span3</span>
    <span>span4</span>
</body>

显示结果

1805

结论

可以实现div和span的互换。
span不可以设置高宽,div可以设置宽高。用block和inline设置之后,span可以设置宽高,div不可以设置宽高。

float clear 浮动属性

  • left:左浮动
  • right:右浮动
    clear 清楚浮动
  • clear:both;

代码

<!DOCTYPE html>
<head>
    <title>CSS 布局的属性</title>
    <meta charset="utf-8">
    <style type="text/css">
        body{
            margin:0;
            padding:0;

        }

        .div{
            width:960px;
            height:600px
            background-color:#f1f1f1;
            margin:0 auto;
        }
        .left{
            float:left;
            width:260px;
            height:400px;
            background-color:#ccc;

        }
        .right{
            float:right;
            width:700px;
            height:400px;
            background-color:#ddd;

        }
        .bottom{
            width:960px;
            height:200px;
            background-color:red;

        }

    </style>

</head>
<body>
    <div class="div">
        <div class="left"></div>
        <div class="right"></div>
        <div class="bottom"></div>

    </div>

</body>

显示结果

1807

问题描述

无法显示出bottom
原因:与浮动元素紧连的元素会受影响

解决办法1

    .bottom{
            clear:both;
            width:960px;
            height:200px;
            background-color:red;

        }

解决办法2

<!DOCTYPE html>
<head>
    <title>CSS 布局的属性</title>
    <meta charset="utf-8">
    <style type="text/css">
        body{
            margin:0;
            padding:0;

        }

        .div{
            width:960px;
            height:600px
            background-color:#f1f1f1;
            margin:0 auto;
        }
        .left{
            float:left;
            width:260px;
            height:400px;
            background-color:#ccc;

        }
        .right{
            float:right;
            width:690px;
            height:400px;
            background-color:#ddd;

        }
        .bottom{
            margin-top:10px;
            width:960px;
            height:190px;
            background-color:red;

        }
        .clear{
            clear:both;
        }

    </style>

</head>
<body>
    <div class="div">
        <div class="left"></div>
        <div class="right"></div>
        <div class="clear"></div>
        <div class="bottom"></div>

    </div>

</body>

显示结果

1808

overflow溢出处理

  • hidden 隐藏超出层大小的内容
  • scroll 无论内容时候超出曾大小都添加滚动条
  • auto 超出时自动添加滚动条

代码

<!DOCTYPE html>
<head>
    <title>CSS 布局的属性</title>
    <meta charset="utf-8">
    <style type="text/css">
        body{
            margin:0;
            padding:0;

        }

        .div{
            width:960px;
            height:600px
            background-color:#f1f1f1;
            margin:0 auto;
        }
        .left{
            float:left;
            width:260px;
            height:400px;
            background-color:#ccc;

        }
        .right{
            float:right;
            width:690px;
            height:400px;
            background-color:#ddd;

        }
        .bottom{
            margin-top:10px;
            width:960px;
            height:190px;
            background-color:red;

        }
        .clear{
            clear:both;
        }
        .jianjie1{
            width:260px;
            height:20px;
            background:red;
            overflow:hidden;

        }
        .jianjie2{
            width:260px;
            height:80px;
            background:red;
            overflow:scroll;

        }
        .jianjie3{
            width:260px;
            height:120px;
            background:red;
            overflow:auto;

        }

    </style>

</head>
<body>
    <div class="div">
        <div class="left">
            <div class="jianjie1">
                    hidden
                 好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上
            </div>
        </div>
        <div class="right">
            <div class="jianjie2">
                    scroll
                 好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上
            </div>
        </div>
        <div class="clear"></div>
        <div class="bottom">
        <div class="jianjie3">
                    auto
                 好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上  好好学习 天天向上
            </div>
        </div>

    </div>

</body>

显示结果

1809

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值