? CSS全称为Cascading Style Sheet,中文翻译为“层叠样式表”。
? 简单地来讲,CSS 能对你制作的网页进行布局、颜色、背景、宽度、高度、字体进行控制,让网页按您的美工设计布局的更加美观漂亮。 样式是用来控制页面外观、设置元素对象属性的工具,使用样式可使页面产生各种特殊的效果。
基本格式:
<head>
    <meta charset="UTF-8">
    <title>DOC</title>
    <style type="text/css">
      /*样式表内容*/
    </style>
</head>直接写在标签内
<p style="color: red">
    你好....
</p>在head标签内写在style标签内
<head>
    <meta charset="UTF-8">
    <title>DOC</title>
    <style type="text/css">
        /*样式表内容*/
    </style>
</head>
<body>
    <!--body内容-->
</body>写在独立的CSS文件中,通过link标签引入
<head>
     <link rel="stylesheet" href="css文件路径">
</head>ID选择器
<style>
    #ID {属性名: 属性}
</style>元素选择器
<style>
    标签名 {属性名: 属性}
</style>类选择器
<style>
    .class {属性名:属性}
</style>
或者
<style>
    标签类型.class {属性名:属性}
</style>PS:
1、谁调用,谁生效。
2、一个标签可以调用多个类选择器。多个标签可以调用同一个类选择器。
类选择器命名规则
类选择器常用的命名

通配符选择器
× {属性名: 属性值}定义:两个或者两个以上的的基础选择器通过不同方式连接在一起
交集选择器
格式:标签类(ID)选择器 {属性: 属性值;}
特点:既要满足使用某个标签,还要满足使用了类选择器或者ID选择器。
例子:
<head>
    <style>
        div.box{
            color: red;
        }
        div#d1{
            width: 400px;
            height: 300px;
            backgroud-color: red;
        }
    </style>
</head>后代选择器
格式:选择器 选择器 {属性: 属性值;}
使用条件:
特点:无限制隔代。(多层嵌套全部生效)
<head>
    <style>
        div span{
            font-size: 42px;
        }
        .box span{
            color: red;
        }
    </style>
</head>
<body>
    <div>
        <p class="box">
            <span>我是div标签的孙子级的标签</span>
        </p>
    </div>
    <div><span>我是div标签的子级标签</span></div>
</body>PS:只要是标签选择器,ID选择器,类选择器就可以自由组合
子代选择器
格式:选择器>选择器 {属性: 属性值}
原则:只会选中子集的元素,下下级的元素不会选中
<head>
    <style>
        div>span{
            font-size: 42px;
        }
    </style>
</head>
<body>
    <div>
        <span>选中我</span>
        <p>
            <span>选不中我</span>
        </p>
    </div>
</body>毗邻选择器
格式:选择器1+选择器2{属性: 属性值}
作用:选择所以紧接着选择器1之后的选择器2元素
<head>
    <style>
        div+span{
            font-size: 42px
        }
    </style>
</head>
<body>
    <div>
        <span>不能找到我</span>
    </div>
    <span>可以找到我</span>
    <span>不可以找到我</span>
</body>后续选择器
格式:选择器1~选择器2{属性: 属性值}
作用:选中选择器1后的所有选择器2的元素
<head>
    <style>
        div~span{
            font-size: 42px
        }
    </style>
</head>
<body>
    <div>
        <span>不能找到我</span>
    </div>
    <span>可以找到我</span>
    <span>可以找到我</span>
</body>并集选择器
格式:选择器, 选择器, 选择器{属性: 属性值;}
原则:并集选择器应用于多个选择器找到的标签应用相同的样式时,为了避免重复写到一起
<head>
    <style>
        .a,#d1,div,h2{
            font-size: 24px
            color: #ffffff
        }
    </style>
</head>PS:×为通配符选择器,也就是可以选中所有元素
<!-- 通过属性或者属性值找到标签 -->
<style>
    div[属性] {color: red} or
    div[属性=属性值] {color: red}
</style><head>
    <style>
        /*找到所有title属性以hello开头的元素*/
        [title^="hello"] {
          color: red;
        }
        /*找到所有title属性以hello结尾的元素*/
        [title$="hello"] {
          color: yellow;
        }
        /*找到所有title属性中包含(字符串包含)hello的元素*/
        [title*="hello"] {
          color: red;
        }
        /*找到所有title属性(有多个值或值以空格分割)中有一个值为hello的元素:*/
        [title~="hello"] {
          color: green;
        }
    </style>
</head>状态:同一个标签在不同时刻会有不同状态
/*未访问的链接*/
a:link {
  color: red;
}
/*已经访问的链接*/
a:visited {
    color: blue;
}
/*鼠标移动到链接上*/
a:hover {
    color: #FF00FF;
}
/*选定的链接,就是在鼠标点击的时候*/
a:active {
    color: pink;
}
/*input输入框获取焦点时的样式*/
input:focus {
    outline: none
    backgroud-color: #eee
}使用CSS生成一个新的标签属性
设置标签内容的首个字的形式firist-letter
p:first-letter {
    font-size: 48px;
    color: red;
}在标签内容的开头加入新的内容before
p:before {
  content:"*";
  color:red;
}在标签内容的结尾加入新的内容after
p:after {
  content:"[?]";
  color:blue;
} PS:before and after常用于清除浮动。

样式!inportant;,不到最后不使用,因为破坏逻辑,使得这个样式始终显示。原文:https://www.cnblogs.com/abner28/p/9794862.html