zoukankan      html  css  js  c++  java
  • CSS深入

    块元素:div、h1、p等等。

    列表的样式:

    /*使用系统提供的一些样式:例如无序、有序都可以使用circle*/
    ul{
        list-style-type: circle;
    }
    ol{
        list-style-type: circle;
    }
    /*使用图片,实现自定义*/
    ul{
        /*图片要小一点*/
        list-style-image: url("../2.png");
        /*list-style: url("../2.png");*/    /*简写: 即image、position、type的事,它都可以干*/
    }
    
    <ul>
        <li>猫</li>
        <li>狗</li>
        <li>猪</li>
    </ul>

     添加轮廓,突出内容:

    p{
        /*使用outline添加一个轮廓:outline相当于一个简写,因为它可以设置所有的轮廓属性*/
        outline: auto;
        outline-color: aqua;
        outline-style: groove;
        outline-width: 2px;
    }
    
    <p>测试文本</p>

     CSS Box Model——对于一个元素而言:

    盒子模型包含:content、padding、border、margin。

    设置内边距padding:

    td{
        /*padding: 100px;*/
        padding-top: 100px;
        padding-bottom: 100px;
        padding-left: 100px;
        padding-right: 100px;
    }
    
    <table border="1">
        <tr>
            <td>盒子模型padding</td>
        </tr>
    </table>

     设置边框border:

    p{
        /* 1 样式、border-style: double;*/
        /*对每一边进行设置(可以将简写覆盖掉)*/
        border-top-style: double;
        border-bottom-style: double;
        border-left-style: double;
        border-right-style: double;
        /* 2 宽度、border- 2px;*/
        border-top-width: 2px;
        /* 3 颜色、border-color: red;*/
        border-bottom-color: red;
        /* 4、CSS3提供边框的:圆角、阴影、环绕图片*/
        border-radius: 5px;
        box-shadow: 10px 10px 2px red;
        /*不用线或者点了,用图片自定义(把前面的宽度、颜色、圆角、阴影注掉)*/
        /*border-image: url(http://www.w3school.com.cn/i/border.png) 30 30 round;*/
    }
    
    <p>一共定义了10种border-style</p>

    外边距margin:

    .margin{
        /*外边距默认为透明区域,可以接受任何长度单位或百分数*/
        /*margin: 100px;*/
        /*margin: 0px 10px 15px 20px;*/     /*上、右、下、左(顺时针)*/
        margin-top: 100px;
        margin-bottom: 100px;
        margin-left: 100px;
        margin-right: 100px;
    }

    Box-Model结构设计:

    body{
        /*将整个页面拟作一个盒子(一个元素),所以去掉body的干扰*/
        margin: 0;
    }
    .margin{
        margin: 100px;
    }
    .border{
        border: double;
    }
    .padding{
        padding: 100px;
    }
    .content{
        background-color: red;
        text-align: center;
    }
    
    <body>
        <!--描述Box Model的层次结构-->
        <div class="margin">
            <div class="border">
                <div class="padding">
                    <div class="content">Box Model</div>
                </div>
            </div>
        </div>
    </body>

     外边距合并(位置上的重叠):

    /*重叠后,取margin较大者,作为新margin*/
    .margin-one{
        margin-bottom: 100px;
    }
    .margin-two{
        margin-top: 50px;
    }
    
    <!--只有垂直方向存在合并-->
    <div class="margin-one">margin-one</div>
    <div class="margin-two">margin-two</div>

    CSS定位:

    定位的思想:定义该元素,相对于其正常、父元素、其他元素、浏览器窗口的位置。

    三种基本的定位机制:普通流、绝对定位、浮动。默认所有框都在普通流中定位。

    块级框之间的距离,只由框之间的垂直margin计算。行框:一行所有的框组合而成。

    所有元素都是框:行内框inline+块框block,通过display更改
    <a href="">a不设置</a>
    <a href="" style="display: block">a设置block</a>
    让指定元素没有框,因此不显示(没有框占文档的空间)
    <p style="display: none">p设置none</p>
    <p style="display: inline">p设置inline</p>
    <p>p不设置</p>

    相对定位(可看作普通流):

    <p>.p1元素无论是否移动,都会占据其原来位置</p>
    <p class="p1">相对定位</p>
    <style>
        .p1{
            /*relative:采用相对定位 — 设置水平、垂直位置(可以为负数),就会相对于原来位置移动*/
            position: relative;
            left: 20px;     /*水平位置:left、right*/
            top: 20px;      /*垂直位置:top、bottom*/
        }
    </style>

    绝对定位:

    绝对定位使元素的位置与文档流无关,因此不占据空间。

    <p class="p1">采用绝对定位</p>
    <span>绝对定位不占位置</span>
    <style>
        .p1 {
            position: absolute;
            /*绝对定位的位置是相对于最近的已定位祖先元素;而对于其他元素,就像不存在一样*/
            left: 100px;
            top: 100px;
        }
    </style>

    浮动:

    <p>test</p>
    <style>
        p{
            /*所有元素都可以浮动*/
            /*假如在一行之上不足以容纳浮动元素,那么这个元素会继续占据下一行,直到能够容纳。*/
            float: right;   /*向右浮动;默认是none(不浮动),而不是left*/
            /*使用JS操纵:object.style.cssFloat="right"*/
        }
    </style>

    浮动不同于定位,对于浮动,就理解为如同在水中漂浮的元素:

    <p>test</p>
    <p>test</p>
    浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
    <style>
        p{
            float: left;
            display: inline;
            background-color: purple;
            width: 30px;
        }
    </style>

    举例 —— 创建水平菜单:

    <ul>
        <li><a href="#">Link one</a></li>
        <li><a href="#">Link two</a></li>
        <li><a href="#">Link three</a></li>
        <li><a href="#">Link four</a></li>
    </ul>
    <style>
        ul{
            /*默认情况ul有margin-top、margin-bottom、padding-left(好像是来自user agent stylesheet)*/
            padding: 0;
            margin: 0;
            list-style-type: none;
        }
        li{
            /*看来li也是块*/
            display: inline;
        }
        a{
            float: left;
            width: 7em;
            text-decoration: none;
            color: white;
            background-color: purple;
            padding: 0.2em 0.6em;
        }
        a:hover{
            background-color: #ff3300;
        }
    </style>

    启用响应式:确保适当的屏幕缩放和绘制,需要添加viewport元信息:

    <!-- content包含可选的属性:-->
    <!-- width:控制设备屏幕宽度。initial-scale:确保网页加载时,1:1比例呈现,不会有缩放。
    user-scalable:是否禁用用户的缩放操作。一般与maximum-scale=1.0一起使用 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,user-scalable=no">
  • 相关阅读:
    springboot开启事务控制
    数据库的四种特性
    springboot之事务
    整合springboot+mybatis+mysql之增删改查(三)
    整合springboot+mysql+mybatis之控制台打印sql(二)
    整合springboot+mysql+mybatis之新增(一)
    解决springboot的依赖包中jar是灰色的问题
    springboot引擎模板之thymeleaf官网学习(四)
    springboot模板引擎之模板整合之thymeleaf(三)
    springboot模板引擎之模板整合之freemarker(二)
  • 原文地址:https://www.cnblogs.com/quanxi/p/6391155.html
Copyright © 2011-2022 走看看