0.2 CSS

2023-07-25  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读