zoukankan      html  css  js  c++  java
  • 前端基础之CSS

    CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML标签添加样式。

    分为两部分:

    • 找到对应标签
    • 给他添加样式

    当浏览器读到一个样式表,他就会按照这个样式表来对文档进行格式化(不是一键删除,是渲染,美化)

     

     

    CSS语法

    CSS实例

    每个CSS样式有两个组成部分:选择器和声明。声明包括属性和属性值,每个声明后边用分号结束。

    CSS注释

    /*这是注释*/

    CSS的几种引入方式

    行内样式

    行内式:直接在标签中定义style属性。不推荐大规模使用。

    <h1 style="color: black;">
        1
    </h1>

    内部样式

    嵌入式:直接在head标签中定义style标签。格式如下:

     
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            p{
                background-color: #2b99ff;
            }
    .c2{
    color: blue;
    }
    #a1 {
    height: 100px;
    }
    .d1{
    color: deeppink;
    }
    </style> </head>

    注:c2旁边的 . 表示class分类,. 在head中的style中代替class。

    a1旁边的#表示id,#在head中的style中代替id

    外部样式

    外部样式就是将css写在一个单独的文件中,然后在页面中引入即可。推荐使用此方式

     操作:新建new-css(stylesheet)-写css-head中link-输入./选择新建的css引入。

    <link rel="stylesheet" href="./c3.css">

    注:link要写在head中,紫色为输入部分。

    CSS选择器(找标签的方式)

    基本选择器

    元素(标签)选择器

    使用:当给一类标签()比如所有的p、div标签设置样式时

     <p style="color: red">这是一个p标签</p>
    所有p标签都变成了红色

    ID选择器

    使用:当给特定的某一个标签设置样式时。如若有两个p标签,但是想让其中一个变成绿色,可用ID选择器

    在head标签中的style标签中  #ID {}

    #f1 {
                color: gold;
            }

    类选择器

    使用:不同的标签(div和a)设置相同颜色,可通过设置同样的样式类(w1)

    class属性:定义样式类

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .w1 {
                color: deeppink;
            }
    .w2 {
    font-size: 45px;
    }
    .w3 {
    background-color: chartreuse;
    }
    </style>
    </head>
    
    <body>
    <div class="w1 w2 w3">这是一个div</div>
    <div class="w1">这是一个div</div>
    </body>

    注意:样式类名(w1、w2、w3)不能以数字开头,可以是字母或字母加数字。

    若w1、w2、w3都为color,则哪个离标签近显示哪种颜色。

    标签中的class属性如果有多个(w1、w2、w3),要用空格分开

    通用选择器

    使用:可以找到页面上所有的标签

    在head标签中的style标签中

    * {
        font-size: 24px;
    }

    组合选择器

    后代选择器

    空格表示(ul和a之间)

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
           ul a {
        color: blue;
    }
        </style>
    </head>
    
    <body>
    <ul>
        <li><a href="">111</a></li>
        <li><a href="">222</a></li>
        <li><a href="">333</a></li>
    </ul>
    <a href="">这是ul外边的a</a>
    </body>
    将ul里边的a变成蓝色

    儿子选择器

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
           div>span{
        color: gold;
    }
        </style>
    </head>
    
    <body>
    <div>
        <p>
            <span>孙子span标签</span>
        </p>
    </div>
    <div>
        <span>
            儿子span标签
        </span>
    </div>
    </body>

    毗邻选择器

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
         b+span {
        color: red;
    }
        </style>
    </head>
    
    <body>
    <div>
        <i>111</i>
        <span>挨着i</span>
        <hr>
        <b>bbb</b>
        <span>挨着b</span>
    </div>
    </body>
    将挨着b标签的span标签设置成红色
    若b标签上边也有一个span标签,不会变成红色,因为文档先定位到b,再往下找挨着的

    弟弟选择器

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
        #w5~div {
                color: deeppink;
            }
        </style>
    </head>
    
    <body>
    <div>
        <div>p上边的div</div>
        <p id="w5">111</p>
        <div>p1下边的div</div>
        <div>p1下边的div</div>
        <div>p1下边的div</div>
        <p>222</p>
        <div>p2下边的div</div>
    </div>
    </body>
    将ID为w5的p标签后边的的所有兄弟div标签变成深粉色
    div和p标签为兄弟,同级关系

     属性选择器

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>属性选择器</title>
        <style>


    div[name] {
        color: gold;
    }
    
            div[name="xiaohu"] {
                color: deeppink;
            }
        </style>
    </head>
    <body>
    <div name="xiaohu">小胡</div>
    <div name="liu"></div>
    <div>没有属性</div>
    
    </body>
    </html>

    黄色部分:用于选取指定属性(如color、name等)的

    红色:用于选取带有指定属性和值的

    不怎么常用

    分组和嵌套

    分组

    当多个元素样式相同(要设置的样式相同)时,我们没必要重复为每个元素设置样式,我们可通过将多个选择器写在一起,使用逗号分隔,来统一设置样式

      div, p, a{
                color: red;
            }
    <div>v1</div>
    <div>v11</div>
    <div>v11</div>
    <p>n1</p>
    <p>n11</p>
    <p>n11</p>
    <a href="">a11</a>

    上面的代码为div标签、p、a标签统一设置字体为红色。

    两个标签时,通常,我们会分两行来写,更清晰:
    div,
    p {
      color: red;
    }

     注:不忘记逗号,不然就变成了后代选择器

    嵌套

    多种选择器可以混合使用

    #m1 span {
                color: green;
            }
        
    .m11/div
    .m11 span {
                color: green;
            }
    <div id="m1" class=m11>
        <p>
            <span>孙子span标签</span>
        </p>
    </div>
    黄色和红色两种方式都可以找到span标签

    伪类选择器

    /* 未访问的链接 */
    a:link {
      color: #FF0000
    }
    
    /* 已访问的链接 */
    a:visited {
      color: #00FF00
    } 
    
    /* 鼠标移动到链接上 */
    a:hover {
      color: red
    } 
    
    /* 选定的链接 (点击,选中时变成红色)*/ 
    a:active {
      color: yellow
    }
    
    /*input输入框获取焦点时样式*/
    input:focus {
      outline: none;
      background-color: #eee;

    伪元素选择器

    first-letter

    常用的给首字母设置特殊样式:

    p:first-letter {
      font-size: 48px;
      color: red;
    }

    before

    /*在每个<p>元素之前插入内容*/
    p:before {
      content:"*";
      color:red;
    }

    after

    /*在每个<p>元素之后插入内容*/
    p:after {
      content:"[?]";
      color:blue;
    } 

    before和after多用于清除浮动。

    选择器的优先级

    1. 选择器相同或者级别相同时,离标签近的样式生效
    2. 一个标签可能会设置多种样式,最后呈现什么样子,其实是按照不同选择器的权重来决定的,具体的选择器权重计算方式如下图: 内联(行内)样式:直接把样式通过style属性写在标签里边(行内)
    3. 权重计算永不进位:10个类选择器和1个id选择器,还是还是id选择器生效,和数量无关
    4. id+类选择器权重>id选择器

    CSS继承

    一个body定义了的字体颜色值后,页面上所有标签都会先继承body的字体颜色(未设置颜色的标签),但CSS继承性的权重非常低,比普通元素(普通标签)的权重还要低,可视为0。我们只要给对应的标签设置字体颜色就可覆盖掉它继承的样式。

  • 相关阅读:
    C语言的布尔类型(_Bool)
    C语言有关指针的变量声明中的几个易错点
    C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/hudaxian/p/13063110.html
Copyright © 2011-2022 走看看