每一年都奔走在自己热爱里

没有人是一座孤岛,总有谁爱着你

CSS基础学习笔记

1.什么是CSS

  • CSS 指层叠样式表 (Cascading Style Sheets)
  • 样式定义如何显示 HTML 元素 (美化网页)
  • 样式通常存储在样式表
  • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
  • 外部样式表可以极大提高工作效率
  • 外部样式表通常存储在 CSS 文件
  • 多个样式定义可层叠为一个

2.CSS发展史

  • css1.0
  • css2.0 DIV(快) +css,HTML与CSS结构分离的思想,网页变得简单
  • css2.1 浮动,定位
  • css3.0 圆角,阴影,动画... ...

3.CSS实例

优先级:就近原则 内联>内部>外部

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--内部样式-->
    <!--
    <style>
    选择器{
        声明1;
        声明2;
        声明3;
       }
    </style>
    -->
    <style>
        div {
            color: antiquewhite;
        }
    </style>
    <!--外部样式-->
    <!--link标签引入-->
    <link rel="stylesheet" href="css/a.css"/>

</head>
<body>
<!--内联样式-->
<div style="color: aquamarine">你好啊!</div>
<div>你好啊!</div>
<h1>你好啊!</h1>

</body>
</html>
css的优势:
  • 内容与表现分离
  • 网页结构表现统一,可以重复使用
  • 样式丰富

4.id 和 class 选择器

优先级:id选择器>类选择器>标签选择器

  • id选择器

      <style>  /*id 选择器以 "#" 来定义*/
            #para1
            {
                text-align:center;
                color:red;
            }
        </style>
    
    <p id="para1">Hello World!</p>
    <p>这个段落不受该样式的影响。</p>
    
  • class选择器

    <style> /*class 选择器有别于id选择器,class可以在多个元素中使用*/
            /*在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示*/
         .center{
             text-align:center;
         }
    </style>
    
    <h1 class="center">标题居中</h1>
    <p class="center">段落居中。</p>
    

5.层次选择器

在 CSS3 中包含了四种组合方式:

  • 后代选择器(以空格分隔)

    • 选择

      所有后代标签为

      的元素

      div p
      {
        background-color:yellow;
      }
      
  • 子元素选择器(以大于号分隔)

    • 选择

      元素的所有直接子元素

      div>p
      {
        background-color:yellow;
      }
      
  • 相邻兄弟选择器(以加号分隔)

    • 选择紧接(不能间隔其他标签)在另一元素后的元素,且二者有相同父元素(选择一个弟弟)

      div+p
      {
        background-color:yellow;
      }
      
  • 后续兄弟选择器(以破折号分隔)

    • 选取了所有

      元素之后的所有相邻兄弟元素

      (弟弟妹妹们选择器)

      div~p
      {
        background-color:yellow;
      }
      

6.伪类

  • first-child 伪类

    <div>
    <p>These are the necessary steps:</p> <!--第一个<p>标签-->
    <ul>
    <li>Intert Key</li><!--第一个<li>标签-->
    <li>Turn key <strong>clockwise</strong></li><!--第一个<strong>标签-->
    <li>Push accelerator</li>
    </ul>
    <p>Do <em>not</em> push the brake at the same time as the accelerator.</p><!--第一个<em>标签-->
    </div>
    
    • 选择器匹配作为任何元素的第一个子元素的 <指定> 元素
  • nth-child伪类

    p:nth-child(1){
        background:yellow;
    }
    
    • <p>的父类的第一个元素,且要是<p>元素
  • nth-of-type伪类

    p:nth-of-type(1){
        background:yellow;
    }
    
    • <p>的父类的第一个<p>元素
  • anchor伪类

    a:link {color:#FF0000;} /* 未访问的链接 */
    a:visited {color:#00FF00;} /* 已访问的链接 */
    a:hover {color:#FF00FF;} /* 鼠标划过链接 */
    a:active {color:#0000FF;} /* 已选中的链接 */
    
    • 注意: 在CSS定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。

    • 注意: 在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。

    • 注意:伪类的名称不区分大小写

7.属性选择器

  • 选择含有某个属性的元素

    [title]
    {
        color:blue;
    }
    
  • 选择特定属性值的元素

    [title=runoob]
    {
        border:5px solid green;
    }
    
  • CSS 属性选择器 *=, |=, ^=, $=, *= 的区别

    • "value 是完整单词" 类型的比较符号: ~=, |=

    • "拼接字符串" 类型的比较符号: *=, ^=, $=

    1.attribute 属性中包含 value: 

​ [attribute~=value] 属性中包含独立的单词为 value,例如:

[title~=flower]  -->  <img src="/i/eg_tulip.jpg" title="tulip flower" />

​ [attribute*=value] 属性中做字符串拆分,只要能拆出来 value 这个词就行,例如:

[title*=flower]   -->  <img src="/i/eg_tulip.jpg" title="ffffflowerrrrrr" />

2.attribute 属性以 value 开头:

​ [attribute|=value] 属性中必须是完整且唯一的单词,或者以 - 分隔开:,例如:

[lang|=en]     -->  <p lang="en">  <p lang="en-us">

​ attribute^=value] 属性的前几个字母是 value 就可以,例如:

[lang^=en]    -->  <p lang="ennn">

3.attribute 属性以 value 结尾:

[attribute$=value] 属性的后几个字母是 value 就可以,例如:a[src$=".pdf"]

8.盒子模型

  • CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

    盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。

  • Border(边框) - 围绕在内边距和内容外的边框。

  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。

  • Content(内容) - 盒子的内容,显示文本和图像。

posted @ 2020-10-22 09:51  雨下整夜~  阅读(120)  评论(0)    收藏  举报