0.2 CSS

作者: 冰菓_ | 来源:发表于2023-07-25 12:41 被阅读0次

    难点&重点:东西太多了吧.....

    1. 各类选择器的适用和区别 (https://blog.csdn.net/LIUCHUANQI12345/article/details/109170492)
    2. 选择器的优先级(https://blog.csdn.net/hellow_tommer/article/details/121566718)
    3. 取色器
    4. css的继承性
    5. 行高和font-size line-height详解
    6. 行内元素,块状元素,内联元素
    7. 盒子模型,margin注意事项
    8. 相对位置
    9. 浮动

    CSS全称为层叠样式表(cascading style sheets),css也是一种标记语言,用于给html结构设置样式,与HTML关系是这样的,HTML搭建结构,CSS添加样式,实现了:结构和样式的分离

    样式

    CSS 规则集(rule-set)由选择器和声明块组成:每条声明都包含一个 CSS 属性名称和一个值,以冒号分隔。多条 CSS 声明用分号分隔,声明块用花括号括起来。
    优先级原则:行内样式>内部样式>外部样式

    选择器

    元素选择器
    通配选择器
    类选择器
    ID选择器
    交集选择器
    并集选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .type1{
                color: black;
            }
            .type2{
                color: orange;
            }
            .type1,.type2,#id-test{
                background-color: blue;
                width: 180px;
            }
            #id-test{
                color: blue;
                width: 200px;
            }
            h1.type2{
                color: burlywood;
                width: 200px;
            }
        </style>
    </head>
    
    <body>
    <h1 id="id-test">一个测试</h1>
       <p style="color: red; width: 100px">i love you</p>
       <p class="type1">你好</p>
       <p class="type1">你好</p>
       <p class="type1">你好</p>
    
       <p class="type2">hhhhh</p>
       <p class="type2">hhhhh</p>
       <p class="type2">hhhhh</p>
    <h1 class="type2">hhhhh</h1>
    </body>
    </html>
    

    后代选择器:语法:选择器1 选择器2 ...选择器n {} 后代选择器,最终选择的是后代,不选中祖先
    子代选择器
    兄弟选择器
    属性选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <style>
          div ol li{
              color: blue;
          }
        [title="abc"]{
            color: red;
        }
          [title^="b"]{
              color: red;
          }
          div ul+li{
            color: red;
        }
        div>p>a{
            color: #000;
        }
        div.abc>a{
            color: #000;
        }
        h1+p{
            color: aqua;
        }
        p~p{
            color: antiquewhite;
        }
    </style>
    <body>
        <div>
             <ol>
                 <li>a</li>
                 <li>b</li>
                 <li>c</li>
             </ol>
            <ul>
                <li>a</li>
                <li>b</li>
                <li>c</li>
            </ul>
            <p>
                <a href="#">11111</a>
                <div class="abc">
            <a href="#">11111</a>
        </div>
            </p>
        </div>
        <p1 title="abc">abc</p1>
        <p1 title="bbc">abc</p1>
    <h1></h1>
    <p>abcccc</p>
        <p>abcccc</p>
        <p>abcccc</p>
    </body>
    </html>
    
    伪类选择器

    动态伪类
    结构伪类
    否定伪类
    UI伪类
    目标伪类
    语言伪类
    伪元素选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            a:link{
                 color: azure;
            }
            a:visited{
                color: aquamarine;
                width: 200px;
            }
            /*悬浮*/
            a:hover{
                color: orange;
            }
            /*激活*/
            a:active{
                color: blue;
            }
        /*    焦点*/
            select:focus{
                background-color: aqua;
            }
            /*选中的是div的后代选择器p,并且p的父亲是谁无所谓*/
            div p:first-child{
                color: aqua;
            }
    
            div div p:nth-child(-n + 5){
                color: aqua;
            }
            div >div> p:last-of-type{
                color: aqua;
            }
            div:empty{
                color: aqua;
                width: 1000px;
            }
    
            :input:checked{
                width: 100px;
                height: 1000px
            ;
            }
    
            p::first-letter{
                background-color: red;
            }
            div+p::before{
                content: "%";
            }
            p::first-line{
                background-color: azure;
            }
            p::selection{
                background-color: blue;
            }
        </style>
    </head>
    <body>
       <a href="aaaa">点击</a>
       <select>
           <option>"aaaa"</option>
           <option>"bbbb"</option>
       </select>
    
      <div>
          <p>ceshi</p>
           <div>
                <marquee>
                     <p>ceshi</p>
                </marquee>
           </div>
          <p>ceshi</p>
          <p>ceshi</p>
      </div>
      <div>
           <span></span>
           <div>
               <p>ceshi</p>
               <p>ceshi</p>
               <p>ceshi</p>
               <p>ceshi</p>
               <p>ceshi</p>
               <p>ceshi</p>
               <div></div>
           </div>
      </div>
      <div></div>
    <input type="checkbox">
       <input type="radio" name="aaa">
       <input type="radio" name="aaa">
    
    </body>
    </html>
    
    选择器的优先级

    通过不同的选择器,选中相同的元素,并且为相同的样式名设置不同的值,就发生了样式的冲突,到底应用哪个样式,此时需要看优先级了,简单描述:行内样式>ID选择器>类选择器>元素选择器>通配选择器

    像素

    像素是一个相对单位

    颜色
    常用字体属性

    大小

    风格
    粗细
    符合属性
    颜色
    间距
    修饰
    缩进
    对齐

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            h1{
                letter-spacing: 10px;
            }
            p1.aa{
                word-spacing: 10px;
            }
            p1.bb{
                text-decoration: underline wavy ;
            }
            p.cc{
                font-size: 30px;
                text-indent: 60px;
    
            }
            p.dd{
                font-size: 30px;
                text-indent: 60px;
                text-align: end;
    
            }
        </style>
    </head>
    <body>
       <h1>HHHH HHH H H 我们</h1><br>
       <p1 class="aa">HHHH HHH H H 我们 </p1><br>
       <p1 class="bb">HHHH HHH H H 我们 </p1><br>
       <p class="cc">HHHH HHH H H 我们 </p>
       <p class="dd">HHHH HHH H H 我们 </p>
    </body>
    </html>
    

    行高

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <style>
            p{
                font-size: 100px;
                line-height: 50px;
                height: 200px;
                background-color: aqua;
            }
        </style>
    </head>
    <body>
       <p>asgrgsgsgsd</p>
       <p>asgrgsgsgsd</p>
    
    列表相关属性

    符号,位置,自定义列表符号

    表格相关属性
    背景相关属性
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
       <style>
            body{
                background-color: white;
    
            }
           div{
               width: 100px;
               height: 100px;
               border: 100px black;
               background-color: aqua;
               background-image: url("aa.jpg");
               /*背景图片重复方式*/
               background-repeat: no-repeat;
               /*对齐方式*/
               background-position: left top;
    
           }
       </style>
    </head>
    <body>
        <div>
             nigao
        </div>
    </body>
    </html>
    
    css长度单位
    1. px像素
    2. em相对元素font-size的倍数
    3. rem相对根字体大小
    4. %相对父元素计算
    元素的显示模式

    block

    1. 在页面中独占一行,不会与任何元素共用一行,是从上到下排列的
    2. 默认宽度:撑满父元素
    3. 默认高度:由内容撑开
    4. 可以通过CSS设置宽高

    inline

    1. 在页面中不会独占一行,一行中不能容纳下的行内元素,会在下一行继续从左到右排列
    2. 默认宽度 :内容撑开
    3. 默认高度:内容撑开
    4. 无法通过CSS设置宽高

    inline-block

    1. 在页面中不独占一行,一行中不能容纳下的行内元素,会在下一行继续从左到右排列
    2. 默认宽度 :内容撑开
    3. 默认高度:内容撑开
    4. 可以通过CSS设置宽高

    https://www.cnblogs.com/qiul-ing/p/17308871.html

    盒子模型

    http://c.biancheng.net/css3/border.html [CSS边框样式(border]

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div{
                /*内容区的宽和高*/
                width: 200px;
                height: 200px;
                /*内边距 设置的背景颜色会填充边框*/
                padding: 20px;
                   /*边框*/
                border: 10px salmon solid;
                font-size: 10px ;
                /*外边距*/
                margin: 50px;
                background-color: aqua;
            }
        </style>
    </head>
    <body>
      <div>
          abcd
      </div>
    </body>
    </html>
    

    margin 塌陷问题和合并问题

    布局技巧
    浮动

    没看...

    定位

    相对定位
    绝对定位
    固定定位
    粘性定位

    H5

    语义标签

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
      <form action="">
            <input type="text" list="a">
            <button>按钮</button>
      </form>
     <datalist id="a">
       <option value="a">a</option>
         <option value="b">b</option>
         <option value="c">c</option>
         <option value="d">d</option>
     </datalist>
    </body>
    </html>
    

    视频标签
    音频标签
    全局属性

    CSS3

    CSS3之背景剪裁Background-clip_-webkit-background-clip

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
             .box{
    
                 width: 200px;
                 height: 200px;
                 border: 1px solid bisque;
                 float: left;
                 margin-left: 20px;
                 font-size: 20px;
             }
            .box1{
                background-image: linear-gradient(red,blue,greenyellow);
            }
             .box2{
                 background-image: linear-gradient( to left top,red,blue,greenyellow);
             }
    
             .box3{
                 background-image: linear-gradient( 20deg
                 ,red,blue,greenyellow);
             }
             .box4{
                 background-image: linear-gradient( to left top,red,blue,greenyellow);
                 font-size: 50px;
                 text-align: center;
                 line-height: 200px;
                 font-weight: bold;
                 color: blanchedalmond;
                 -webkit-background-clip:text ;
             }
             .box5{
                 background-image: radial-gradient(
                 red,blue,greenyellow);
             }
             .box6{
                 background-image: radial-gradient(circle,
                         red,blue,greenyellow);
             }
        </style>
    </head>
    <body>
      <div class="box box1">1</div>
      <div class="box box2">2</div>
      <div class="box box3">3</div>
      <div class="box box4">444444</div>
      <div class="box box5">444444</div>
      <div class="box box6">444444</div>
    </body>
    </html>
    

    web字体
    http://c.biancheng.net/css3/position.html
    [position]

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <style>
          .out{
              width: 200px;
              height: 200px;
              border: 1px solid black;
              margin: 0 auto;
              margin-top: 100px;
          }
        .in{
            width: 200px;
            height: 200px;
            background-color: green;
            transform: translateX(50px);
        }
    </style>
    <body>
       <div class="out">
           <div class="in">
                abc
           </div>
       </div>
    <hr>
    </body>
    </html>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .box{
                width: 1200px;
                height: 1200px;
            }
            .box:hover .b{
                width: 1200px;
            }
             .box1{
                  width: 200px;
                  height: 200px;
                 background-color: bisque;
             /*    设置需要过渡的属性*/
             /*    不是所有属性都能过渡*/
                 transition-property: height , width,background-color;
                 transition-duration: 1000ms;
             }
            .box1:hover{
                height: 400px;
                width:  400px;
                background-color:aqua;
            }
            .box2 {
                width: 200px;
                height: 200px;
                background-color: bisque;
                transition-property:all;
                transition-duration: 1000ms;
            }
            .box2:hover{
                transition-timing-function: ease;
                background-color:aqua;
            }
        </style>
    </head>
    <body>
    <div class="box">
        <div class="b box1">abc</div>
        <div class="b box2">abc</div>
    </div>
    
    </body>
    </html>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <style>
          .out{
              width: 1200px;
              height: 1200px;
              border: 1px salmon solid;
          }
    
          .in{
              width: 100px;
              height: 100px;
              background-color: aqua;
              animation-name: ta;
              animation-duration: 5s;
              animation-iteration-count: infinite;
          }
          @keyframes ta {
              from{
    
              }
              to{
                  transform:translate(1100px) rotate(360deg);
                  background-color: greenyellow;
              }
          }
    /*    定义一组关键帧*/
    </style>
    <body>
       <div class="out">
           <div class="in">
           </div>
       </div>
    </body>
    </html>
    
    伸缩盒模型

    只有直接的子元素才是伸缩项目
    伸缩项目:伸缩容器所有子元素自动成为了:伸缩项目

    BFC

    相关文章

      网友评论

          本文标题:0.2 CSS

          本文链接:https://www.haomeiwen.com/subject/ydhzudtx.html