• 前端之CSS1


    CSS基本语法和引入方式

    CSS介绍

    为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此而诞生,CSS是 Cascading Style Sheets 的首字母缩写,意思是层叠样式表。有了CSS,html中大部分表现样式的标签就废弃不用了,html只负责文档的结构和内容,表现形式完全交给CSS,html文档变得更加简洁。

    css基本语法

    css的定义方法是:

    选择器 { 属性:值; 属性:值; 属性:值;}

    选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性,每个属性有一个或多个值。

    代码示例:

    div{ width:100px; height:100px; color:red }

    CSS引入方法

    css页面引入方法:

    1. 外联式:通过link标签,链接到外部样式表到页面中。
    2. 嵌入式/内嵌式:通过style标签,在网页上创建嵌入的样式表。
    3. 内联式:通过标签的style属性,在标签上直接写样式。

    style标签,放在head标签里面,在style里面写样式;

    在网站首页时建议使用,有助于性能优化,提升用户体验;
    注意,嵌入式用的是style标签,而内联式用的是style属性;

    /* css引入方法1 */
    <link rel="stylesheet" type="text/css" href="css/main.css">
    
    /* css引入方法2 */
    <head>    
    <style type="text/css">
    div{ width:100px; height:100px; color:red }
    ......
    </style>
    </head>  
    
    /* css引入方法3 */
    <div style="100px; height:100px; color:red ">......</div>

    css引入方式示例

    示例1:引入css文件

    /*01.引入css文件.html*/
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS样式引入</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- 第一种插入样式的方式-外联式 -->
        <link rel="stylesheet" href="./css/main.css">
    </head>
    <body>
    <div>这是一个div标签</div>
    
    </body>
    </html>
    
    /*main.css*/
    
    div {
        /*这里是css的注释*/
        font-size: 26px;
        color: blue;
    }

    示例2:嵌入式

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>内嵌式引入css样式</title>
        <!-- 第二种插入样式的方式-嵌入式 -->
        <style>
            div {
                font-size: 30px;
                color: red;
            }
        </style>
    </head>
    <body>
    
    <div>这是一个div标签</div>
    </body>
    </html>

    示例3:直接在标签中写样式示例-内联式/行内样式

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>内嵌式引入css样式</title>
    </head>
    <body>
     <!-- 第三种插入样式的方式-内联式 -->
    <div style="font-size: 20px;color: yellow">这是一个div标签</div>
    </body>
    </html>

    三种方式总结:
    推荐使用外联式,可以使用嵌入式,不太推荐使用内联式;
    外联式嵌入式 需要用到选择器,内联式不需要使用选择器,因为它直接在选择器里面;
    外联式任何情况都能使用,嵌入式在网站首页优化可以使用;
    嵌入式用的是style标签,而内联式内联式用的是style属性;
    首页优化用嵌入式,其他用外联式;

    CSS文本设置

    常用的应用文本的css样式:

    • color 设置文字的颜色,如: color:red;
    • font-size 设置文字的大小,如:font-size:12px;
    • font-family 设置文字的字体,如:font-family:'微软雅黑';
    • font-style 设置字体是否倾斜,如:font-style:'normal'; 设置不倾斜,font-style:'italic';设置文字倾斜;但一般是用来设置不倾斜的。
    • font-weight 设置文字是否加粗,如:font-weight:bold; 设置加粗 font-weight:normal 设置不加粗。
    • font 同时设置文字的几个属性,写的顺序有兼容问题,建议按照如下顺序写: font:是否加粗 字号/行高 字体;如: font:normal 12px/36px '微软雅黑';
    • line-height 设置文字的行高,如:line-height:24px;
    • text-decoration 设置文字的下划线,如:text-decoration:none; 将文字下划线去掉,常用于将a标签的下划线去掉;
    • text-indent 设置文字首行缩进,如:text-indent:24px; 设置文字首行缩进24px;一个汉字占20px,两个汉字40px。
    • text-align 设置文字水平对齐方式,如text-align:center 设置文字水平居中;span,a标签等只让文字撑开的,暂时不能居中,p,div占一行的,能居中。

    01:文本样式应用实例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>文本常用样式</title>
        <style>
            div {
                font-size: 22px;
                color: red;
                /*font-family: "微软雅黑";*/  /*可以写中文,但建议写英文,避免可能出现的乱码*/
                font-family: "Microsoft YaHei UI";
                font-style: italic;
                font-weight: bold;
                line-height: 20px;
            }
        </style>
    </head>
    
    <body>
    <div>
        常用的应用文本的css样式:
        color 设置文字的颜色,如: color:red;
        font-size 设置文字的大小,如:font-size:12px;
        font-family 设置文字的字体,如:font-family:'微软雅黑';
        font-style 设置字体是否倾斜,如:font-style:'normal'; 设置不倾斜,font-style:'italic';设置文字倾斜
        font-weight 设置文字是否加粗,如:font-weight:bold; 设置加粗 font-weight:normal 设置不加粗
    </div>
    </body>
    </html>

    02:常用的文本应用css样式

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>文本常用样式</title>
        <style>
            div {
                font-size: 22px;
                color: red;
                /*font-family: "微软雅黑";*/  /*可以写中文,但建议写英文,避免可能出现的乱码*/
                font-family: "Microsoft YaHei UI";
                font-style: italic;
                font-weight: bold;
                line-height: 30px;
                text-decoration: underline;
                text-indent: 40px;
            }
            a {
                text-decoration: none;
            }
            p {
                text-align: center;
            }
        </style>
    </head>
    
    <body>
    <div>
        常用的应用文本的css样式:
        color 设置文字的颜色,如: color:red;
        font-size 设置文字的大小,如:font-size:12px;
        font-family 设置文字的字体,如:font-family:'微软雅黑';
        font-style 设置字体是否倾斜,如:font-style:'normal'; 设置不倾斜,font-style:'italic';设置文字倾斜
        font-weight 设置文字是否加粗,如:font-weight:bold; 设置加粗 font-weight:normal 设置不加粗
    </div>
    <p>这是一个span标签</p>
    <a href="http://www.baidu.com">百度一下,你就知道</a>
    </body>
    </html>

    CSS颜色表示法

    css颜色值主要有三种表示方法:

    1. 颜色名表示,比如:red 红色,gold 金色。
    2. rgb表示,比如:rgb(255,0,0),表示红色。
    3. 16进制数值表示,比如:#ff0000 表示红色,这种可以简写成 #f00。

    css颜色表示法示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>css颜色表示法</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            div {
                font-size: 30px;
                /*以下三种方法,效果一致*/
                /*color: green;*/
                /*color: rgba(0,255,0);*/
                color: #00ff00;
            }
        </style>
    </head>
    
    <body>
    <div>这是一个div标签</div>
    </body>
    </html>

    CSS选择器

    如果对同一内容区添加样式,下面的样式会覆盖上面的样式;
    在css中,#代表id选择器,.代表类选择器;

    常用的选择器有如下几种:

    1.标签选择器

    标签选择器,此种选择器影响范围大,建议尽量应用在层级选择器中。

    标签选择器举例:
    *{margin:0;padding:0}
    div{color:red} 
    <div>....</div> <!-- 对应以上两条样式 -->
    <div class="box">....</div> <!-- 对应以上两条样式 -->

    01标签选择器示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            /* 针对所有的标签选择器,慎用 */
            * {
                color: red;
            }
            /* 仅针对所有的div标签选择器 */
            div {
                font-size: 30px;
            }
        </style>
    </head>
    
    <body>
    <div>第一个div标签</div>
    <div>第二个div标签</div>
    <div>第三个div标签</div>
    </body>
    </html>
    01标签选择器示例

    2.id选择器

    通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器。

    id选择器举例:
    #box{color:red} 
    <div id="box">....</div> <!-- 对应以上一条样式,其它元素不允许应用此样式 -->

    02id选择器示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>id选择器</title>
        <style>
            div {
                font-size: 30px;
                color: red;
            }
            /* id选择器,用#作为id选择器的标识 */
            /* 如果对同一内容区添加样式,下面的样式会覆盖上面的样式 */
            #d1 {
                color: gray;
            }
        </style>
    </head>
    <body>
    
    <div id="d1">第一个div标签</div>
    <div>第二个div标签</div>
    <div>第三个div标签</div>
    
    </body>
    </html>
    02id选择器示例

    3.类选择器

    通过类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类,应用灵活,可复用,是css中应用最多的一种选择器。

    类选择器举例:
    .red{color:red}
    .big{font-size:20px}
    .mt10{margin-top:10px} 
    <div class="red">....</div>
    <h1 class="red big mt10">....</h1>
    <p class="red mt10">....</p>

    03类选择器示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>类选择器</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            .d1 {
                font-size: 30px;
                color: deeppink;
            }
            .d2 {
                font-style: italic;
            }
            .d3 {
                color: green;
            }
        </style>
    </head>
    <body>
    <div class="d1">这是第一个div标签</div>
    <div class="d1 d2">这是第二个div标签</div>  <!-- 多个类可以作用于一个元素 -->
    <!--如果一个元素上有多个类,多个类之间有重复的样式,那么在外联式/嵌入式中后定义的类选择器的样式会覆盖先定义的;-->
    <p class="d3 d1">这是一个p标签</p>
    
    <p>下面是没有添加类选择器的标签</p>
    <div>这是第一个div标签</div>
    <div>这是第二个div标签</div>
    <p>这是一个p标签</p>
    </body>
    </html>
    03类选择器示例

     如果一个元素上有多个类,多个类之间有重复的样式,那么在外联式/嵌入式中后定义的类选择器的样式会覆盖先定义的;而与类选择器的先后顺序无关。

    4.层级选择器

    主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。
    层级选择器可以包含多层,比如box中嵌套box,二层box下再嵌套span;但一般而言,最好不要超过四层。
    层级选择器之间用空格隔开;

    层级选择器举例:
    .box span{color:red}
    .box .red{color:pink}
    .red{color:red}
    <div class="box">
        <span>....</span>
        <a href="#" class="red">....</a>
    </div>
    <h3 class="red">....</h3>

    04层级选择器示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>层级选择器</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            .d1 {
                font-size: 20px;
                line-height: 30px;
                text-indent: 40px;
            }
            .d1 span {
                color: red;
            }
            .d1 em {
                font-style: normal;
                color: gray;
                text-decoration: underline;
            }
        </style>
    </head>
    <body>
    
    <div class="d1">
        <span>大千世界,无奇不有。</span>
        天地中央,有个曾用一剑劈出天河瀑布的读书人,<em>人间最得意</em>。
        东海崖畔,有个不愿飞升枯坐山巅的无名道人,只愿清风拂面。
        西方净土,有个喜欢给人说故事的老和尚,豢养有九条天龙。
        蛮荒南疆,有个目盲画师,驱使与山岳等高的金甲傀儡,搬动十万大山,铺就一幅锦绣图画。
        一个生长在北方的贫寒少年,当他有一天看到头顶竟有成千上万的御剑仙人,如同蝗群过境。他就想去亲眼去看一看,说书先生所说的那位读书人,东海的滔天大潮、西方的黄沙万里和南荒的巍峨大山。
        于是,终有一日,少年挎起木剑,一路向南。
    </div>
    
    <hr />
    <div class="d2">
        <span>大千世界,无奇不有。</span>
        天地中央,有个曾用一剑劈出天河瀑布的读书人,人间最得意。
        东海崖畔,有个不愿飞升枯坐山巅的无名道人,只愿清风拂面。
        西方净土,有个喜欢给人说故事的老和尚,豢养有九条天龙。
        蛮荒南疆,有个目盲画师,驱使与山岳等高的金甲傀儡,搬动十万大山,铺就一幅锦绣图画。
        一个生长在北方的贫寒少年,当他有一天看到头顶竟有成千上万的御剑仙人,如同蝗群过境。他就想去亲眼去看一看,说书先生所说的那位读书人,东海的滔天大潮、西方的黄沙万里和南荒的巍峨大山。
        于是,终有一日,少年挎起木剑,一路向南。
    </div>
    </body>
    </html>
    层级选择器示例

    5.组选择器

    多个选择器,如果有同样的样式设置,可以使用组选择器,抽离重复样式。组选择器之间用逗号分隔开。

    组选择器举例:
    .box1,.box2,.box3{100px;height:100px}
    .box1{background:red}
    .box2{background:pink}
    .box2{background:gold}
    <div class="box1">....</div>
    <div class="box2">....</div>
    <div class="box3">....</div>

    05组选择器示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>组选择器</title>
        <style>
            /* 使用组选择器抽离重复样式 */
            .d1, .d2, .d3 {
                 font-size: 20px;
                text-indent: 40px;
            }
            .d1 {
                /*font-size: 20px;*/
                /*text-indent: 40px;*/
                color: red;
            }
            .d2 {
                /*font-size: 20px;*/
                /*text-indent: 40px;*/
                color: blue;
            }
            .d3 {
                /*font-size: 20px;*/
                /*text-indent: 40px;*/
                color: gray;
            }
        </style>
    </head>
    <body>
    
    <div class="d1">第一个div标签</div>
    <div class="d2">第一个div标签</div>
    <div class="d3">第一个div标签</div>
    </body>
    </html>
    组选择器示例

    6.伪类及伪元素选择器

    常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态,伪元素选择器有before和after,它们可以通过样式在元素中插入内容。
    常用于a标签。

    伪类选择器举例
    .box1:hover{color:red}
    .box2:before{content:'行首文字';}
    .box3:after{content:'行尾文字';}
    <div class="box1">....</div>
    <div class="box2">....</div>
    <div class="box3">....</div>

    06伪类和伪元素选择器示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>伪类和伪元素选择器</title>
        <style>
            .link {
                font-size: 30px;
                text-decoration: none;
                color: deeppink;
            }
            /* 使用伪类选择器 在鼠标悬浮链接后变色加粗 */
            .link:hover {
                color: aqua;
                font-weight: bold;
            }
            .d1, .d2, .d3 {
                font-size: 20px;
            }
            /*使用伪元素选择器,给文字前后添加内容*/
            .d1:before {
                content: "***";
                color: red;
            }
            .d3:after {
                content: "???";
                color: blue;
            }
        </style>
    </head>
    <body>
    <a href="http://www.baidu.com" class="link">百度一下,你就知道</a>
    <div class="d1">这是第一个div标签</div>
    <div class="d2">这是第二个div标签</div>
    <div class="d3">这是第三个div标签</div>
    </body>
    </html>
    06伪类和伪元素选择器示例

    注意:

    • id选择器基本不用,用得最多的是类选择器。
    • 如果一个元素上有多个类,多个类之间有重复的样式,那么在外联式/嵌入式中后定义的类选择器的样式会覆盖先定义的;
    • id选择器的权重要高于类选择器的权重,即id和类的样式同时作用于一个内容区,会优先使用id的样式;
  • 相关阅读:
    .NET Core WEB API使用Swagger生成在线接口文档
    .NET Core WEB API中接口参数的模型绑定的理解
    .Net Core使用视图组件(ViewComponent)封装表单文本框控件
    在有主分支和个人分支情况下的TFS使用方法
    SQL Server Profiler (SQl跟踪器)的简单使用
    C# 多线程下的单例模式
    C# 单例模式
    .net core MVC接受来自自前端的GET和POST请求方法的区别
    《Windows Phone 8 Development Internals》读书笔记-1-2-2-连载
    《Windows Phone 8 Development Internals》读书笔记-1-2-1-连载
  • 原文地址:https://www.cnblogs.com/yifchan/p/html-1-2.html
Copyright © 2020-2023  润新知