关系选择器、属性选择器、伪类、伪元素选择器、分组与嵌套、选择器的优先级、宽度高度、字体、属性(text、background、border、display)

【一】关系选择器

【1】选择器类型

  • 后代选择器
  • 儿子选择器
  • 毗邻选择器
  • 弟弟选择器
选择符 名称 版本 描述
E F 包含选择符(Descendant combinator) CSS1 选择所有被E元素包含的F元素。
E>F 子选择符(Child combinator) CSS2 选择所有作为E元素的子元素F。
E+F 相邻选择符(Adjacent sibling combinator) CSS2 选择紧贴在E元素之后F元素。
E~F 兄弟选择符(General sibling combinator) CSS3 选择E元素所有兄弟元素F。
  • 通过嵌套层级来表示亲属关系
    • 对于 div1 来说: div2、p2、span2都是儿子
    • 对于 p1 来说:div2 是父亲,div1是爷爷
    • 对于 span2 来说:div2、p2 是同辈的
    • div1 内部所有的标签无论层级都可以称之为是 div1 的后代。

【2】选择器介绍

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*后代选择器*/
        /* div 里面的所有 span标签变成红色 */
        div span{
            color: red;
        }

        /* 儿子选择器 */
        /* div标签内的所有 span 儿子变色 而孙子辈 span 不变色 */
        div > span {
            color: yellow;
        }

        /* 毗邻选择器 */
        /* 同级别 div 和 p 变色,所以最后是 p2 变成蓝色*/
        div + p {
            color: blue;
        }

        /* 弟弟选择器 */
        /* 查找同级别下面的所有 span 标签。结果就是 span2 和 span3 变色*/
        div ~ span {
            color: green;
        }
    </style>
</head>
<body>

<div>这是 div1 标签
    <div> 这是 div2 标签
        <p>p1</p>
    </div>
    <p>p2
        <span>这是 span1 标签</span>
    </p>
    <span>这是 span2 标签</span>
</div>
<span>这是 span3 标签</span>

</body>
</html>

【二】属性选择器

  • 含有某个属性
  • 含有某个属性并且有某个值
  • 含有某个属性并且有某个值的某个标签
选择符 版本 描述
E[att] CSS2 选择具有att属性的E元素。
E[att="val"] CSS2 选择具有att属性且属性值等于val的E元素。
E[att~="val"] CSS2 选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素。
E[att^="val"] CSS3 选择具有att属性且属性值为以val开头的字符串的E元素。
E[att$="val"] CSS3 选择具有att属性且属性值为以val结尾的字符串的E元素。
E[att*="val"] CSS3 选择具有att属性且属性值为包含val的字符串的E元素。
E[att|="val"] CSS2 选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素,如果属性值仅为val,也将被选择。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
     /*方式一 : [type_name] {属性名:属性值} */
     [username] {
       color: red;
     }

     /*方式二 : [type_name="type_value"] {属性名:属性值} */
     [username="chosen"] {
       color: yellow;
     }

     /*方式三 : tag_name[type_name="type_value"] {属性名:属性值} */
     div[username="max"] {
       color: blue;
     }
  </style>
</head>
<body>

<input type="text" username>
<input type="text" username="chosen">
<input type="text" username="max">

<p username="chosen"> 这是 p 标签</p>
<div username="max"> 这是 div 标签</div>

</body>
</html>

【三】伪类选择器

【1】概览

选择符 版本 描述
E:link CSS1 设置超链接a在未被访问前的样式。
E:visited CSS1 设置超链接a在其链接地址已被访问过时的样式。
E:hover CSS1/2 设置元素在其鼠标悬停时的样式。
E:active CSS1/2 设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式。
E:focus CSS1/2 设置元素在成为输入焦点(该元素的onfocus事件发生)时的样式。
E:lang(fr) CSS2 匹配使用特殊语言的E元素。
E:not(s) CSS3 匹配不含有s选择符的元素E。
E:root CSS3 匹配E元素在文档的根元素。
E:first-child CSS2 匹配父元素的第一个子元素E。
E:last-child CSS3 匹配父元素的最后一个子元素E。
E:only-child CSS3 匹配父元素仅有的一个子元素E。
E:nth-child(n) CSS3 匹配父元素的第n个子元素E。
E:nth-last-child(n) CSS3 匹配父元素的倒数第n个子元素E。
E:first-of-type CSS3 匹配父元素下第一个类型为E的子元素。
E:last-of-type CSS3 匹配父元素下的所有E子元素中的倒数第一个。
E:only-of-type CSS3 匹配父元素的所有子元素中唯一的那个子元素E。
E:nth-of-type(n) CSS3 匹配父元素的第n个子元素E。
E:nth-last-of-type(n) CSS3 匹配父元素的倒数第n个子元素E。
E:empty CSS3 匹配没有任何子元素(包括text节点)的元素E。
E:checked CSS3 匹配用户界面上处于选中状态的元素E。(用于input type为radio与checkbox时)
E:enabled CSS3 匹配用户界面上处于可用状态的元素E。
E:disabled CSS3 匹配用户界面上处于禁用状态的元素E。
E:target CSS3 匹配相关URL指向的E元素。
@page:first CSS2 设置页面容器第一页使用的样式。仅用于@page规则
@page:left CSS2 设置页面容器位于装订线左边的所有页面使用的样式。仅用于@page规则
@page:right CSS2 设置页面容器位于装订线右边的所有页面使用的样式。仅用于@page规则

【2】选择器属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p#p1:hover {
            color: deeppink;
        }
        input:focus {
            background-color: aqua;
        }

        /*a:link {*/
        /*    color: orange;*/
        /*}*/

        /*a:visited {*/
        /*    color: purple;*/
        /*}*/

        a:active {
            color: darkgrey;
        }
    </style>
</head>
<body>
<h1>伪类选择器</h1>
<p>
    交互渲染.........
</p>
<p id="p1">
    (1) tag_name:hover 鼠标悬浮会触发样式的修改
    <br>
    (2) tag_name(input):focus 聚焦选中的时候会发生样式的更改
    <br>
    (3) tag_name(a):link 给标签加一个静态的颜色样式
    <br>
    (4) tag_name(a):visited 点击标签过后,给颜色增加新样式
    <br>
    (5) tag_name(a):active 点击标签处于激活状态才会对样式进行修改
</p>

<p><a href="https://www.123.com/">当前网址是否存在</a></p>
<p>username <input type="text" name="" id=""></p>
</body>
</html>

【四】伪元素选择器

【1】概览

选择符 版本 描述
E:first-letter/E::first-letter CSS1/3 设置对象内的第一个字符的样式。
E:first-line/E::first-line CSS1/3 设置对象内的第一行的样式。
E:before/E::before CSS2/3 设置在对象前(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用
E:after/E::after CSS2/3 设置在对象后(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用
E::placeholder CSS3 设置对象文字占位符的样式。
E::selection CSS3 设置对象被选择时的颜色。

【2】示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*1.修改首个字体样式*/
        p#p1:first-letter {
            color: burlywood;
            font-size: 50px;
        }

        /*2.在文本开头添加内容*/
        p:before {
            content: 'Manba';
            color: darkcyan;
        }

        /*3.在文本结尾添加内容*/
        p.p2:after {
            content: 'Out';
            color: purple;
        }
    </style>
</head>
<body>
<p id="p1">这是一个p标签</p>
<p class="p2">这是另一个 p 标签</p>
</body>
</html>

【五】分组与嵌套

【1】分组语法

/*查找div或者p或者span*/
div, p, span {
    color: red;
}

【2】嵌套语法

/*查找id是d1或者class包含c1或者span*/
#d1, .c1, span {
    color: red;
}

【3】分组/嵌套 示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    div,p{
      color: darkgrey;
    }

    div.d1,span#span1{
      color: deeppink;
    }
  </style>
</head>
<body>
<h1>[1] 分组</h1>
<p>用 , 隔开对所有指定的一组标签进行增加样式</p>
<p>并且 逗号 表示并列关系</p>
<div class="d1">这是 div1 标签</div>
<div class="d2">这是 div2 标签</div>
<div class="d2">这是 div3 标签</div>
<p class="d1">这是 p 标签</p>
<span id="span1">这是 span1 标签</span>
<span id="span2">这是 span2 标签</span>

<h1>[2] 嵌套</h1>
<p>以标签名 + 属性值 确定每一组标签进行增加样式</p>
<p>举例 <br>
    div#d1        查找 id 是 d1 的 div 标签 <br>
    div.c1        查找 class 包含 c1 的 div 标签 <br>
    div #d1       查找 div 内部 id 是 d1 的后代标签 <br>
    div#d1>.c1	  查找id是d1的内部class包含c1的儿子标签
</p>
</body>
</html>

【六】选择器的优先级

【1】概述

  • !important
  • 行内 style 属性
  • id选择器
  • 类选择器
  • 标签选择器
  • 行内选择器

【2】就近原则

  • 选择器相同,书写顺序不同
  • 谁离得近,就使用谁的样式

【3】优先级

  • !important > 行内 style 属性 > 行内选择器 > id选择器 > 类选择器 > 标签选择器
  • 精确度越高,优先级越高
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .class_p{
            color: red!important;
        }
        p{
            color: green;
        }
        *{
            color: burlywood;
        }
        #id_p{
            color: blueviolet;
        }
    </style>
</head>
<body>
<h1>四个基础选择器</h1>
<p class="class_p" id="id_p" style="color: cyan">
    !important
    style 行内标签样式
    id 选择器
    class 选择器
    标签选择器
    通用选择器
</p>
</body>
</html>

【七】宽度与高度

【1】概览

属性 版本 继承性 描述
width CSS1 定义了元素内容区(Content Area)的宽度
min-width CSS2 定义了元素内容区(Content Area)的最小宽度
max-width CSS2 定义了元素内容区(Content Area)的最大宽度
height CSS1 定义了元素内容区(Content Area)的高度
min-height CSS2 定义了元素内容区(Content Area)的最小高度
max-height CSS2 定义了元素内容区(Content Area)的最大高度

【2】示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p{
            background-color: deeppink;
            height: 100px;
            width: 200px;
        }

        /* 块级标签无法设置长度和宽度,就算写了也不会生效 */
        span{
            background-color: rebeccapurple;
            height: 100px;
            width: 200px;
        }
    </style>
</head>
<body>

<p>这是一个 p 标签</p>
<span>这是一个 SPAN 标签</span>
<p>
    高度和宽度参数只对块级标签生效而对行级标签元素不生效
    height
    width
</p>
</body>
</html>

【八】字体

【1】字体属性

属性 版本 继承性 描述
font CSS1/2 简写属性。定义元素的文本特性
font-style CSS1 指定元素的文本是否为斜体
font-variant CSS1 定义元素的文本是否为小型的大写字母
font-weight CSS1 定义元素文本字体的粗细
font-size CSS1 定义元素的字体大小
font-family CSS1 定义元素文本的字体名称序列
font-stretch CSS3 定义元素的文字是否横向拉伸变形
font-size-adjust CSS3 定义小写字母x的高度与对象文字字号的比率。

【2】font-style

  • normal:指定文本字体样式为正常的字体
  • italic:指定文本字体样式为斜体。对于没有设计斜体的特殊字体,如果要使用斜体外观将应用oblique
  • oblique:指定文本字体样式为倾斜的字体。人为的使文字倾斜,而不是去选取字体中的斜体字。

【3】font-variant

  • normal:指定文本字体样式为正常的字体
  • small-caps:小型的大写字母字体

【4】font-weight

  • normal:指定文本字体样式为正常的字体
  • bold:粗体,相当于数值700
  • bolder:定义比继承值更重的值
  • lighter:定义比继承值更轻的值
  • 100-900:用数字表示文本字体粗细。取值范围:100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900

【5】font-stretch

  • normal:指定文本字体样式为正常的字体
  • ultra-condensed:比正常文字宽度窄4个基数。
  • extra-condensed:比正常文字宽度窄3个基数。
  • condensed:比正常文字宽度窄2个基数。
  • semi-condensed:比正常文字宽度窄1个基数。
  • semi-expanded:比正常文字宽度宽1个基数。
  • expanded:比正常文字宽度宽2个基数。
  • extra-expanded:比正常文字宽度宽3个基数。
  • ultra-expanded:比正常文字宽度宽4个基数。

【6】font-size

font-size:<absolute-size> | <relative-size> | <length> | <percentage>
<absolute-size> = xx-small | x-small | small | medium | large | x-large | xx-large
<relative-size> = smaller | larger
  默认值:medium
  适用于:所有元素
  继承性:有
  动画性:是
  计算值:指定值
  媒 体:视觉
  取值:
    <absolute-size>:
      根据对象字号进行调节。以 medium 作为基础参照,xx-small相当于medium 3/5 (h6),x-small: 3/4,small: 8/9 (h5),medium: 1 (h4),large: 6/5 (h3),x-large: 3/2 (h2),xx-large: 2/1 (h1),
    <relative-size>:
      相对于父对像中字号进行相对调节。使用成比例的em单位计算。
    <length>:
      用长度值指定文字大小。不允许负值。
    <percentage>:
      用百分比指定文字大小。其百分比取值是基于父对象中字体的尺寸。不允许负值。

【7】font-family

font-family:[ <family-name> | <generic-family> ] #
    <family-name>:
      字体名称。按优先顺序排列。以逗号隔开。如果字体名称包含空格或中文,则应使用引号括起
    <generic-family>:
      字体序列名称。

【示例】

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p{
            font-style: normal;
            font-variant: small-caps;
            font-weight: 900;
            font-stretch: ultra-condensed;
            font-size: 100px;
            font-family: "Microsoft JhengHei";
        }
    </style>
</head>
<body>
<p>
    这是一端文本 chosen
</p>
</body>
</html>

【九】文本属性

【1】文本

属性 版本 继承性 描述
text-transform CSS1/3 定义元素的文本如何转换大小写
white-space CSS1 指定元素是否保留文本间的空格、换行;指定文本超过边界时是否换行。
tab-size CSS3 定义元素内容中制表符的长度
word-break CSS3 定义元素内容文本的字间与字符间的换行行为
word-wrap/overflow-wrap CSS3 定义元素内容文本遇到边界时如何换行
text-align CSS1/3 定义元素内容的水平对齐方式
text-align-last CSS3 定义块内文本内容的最后一行(包括块内仅有一行文本的情况,这时既是第一行也是最后一行)或者被强制打断的行的对齐方式
text-justify CSS3 定义使用什么方式实现文本内容两端对齐
word-spacing CSS1/3 指定单词之间的额外间隙
letter-spacing CSS1/3 指定字符之间的额外间隙
text-indent CSS1/3 定义块内文本内容的缩进
vertical-align CSS1/2 定义行内元素在行框内的垂直对齐方式
line-height CSS1 定义元素中行框的最小高度
text-size-adjust CSS3 定义移动端页面中元素文本的大小如何调整

【2】文本装饰

属性 版本 继承性 描述
text-decoration CSS1/3 简写属性。定义元素文本装饰
text-decoration-line CSS3 定义元素文本装饰线条位于文本的哪个位置
text-decoration-color CSS3 指定元素文本装饰线条的颜色
text-decoration-style CSS3 定义元素文本装饰线条的形状
text-decoration-skip CSS3 定义元素文本装饰线条必须跳过内容中的哪些部分
text-underline-position CSS3 定义元素装饰线的位置
text-shadow CSS3 定义文字是否有阴影及模糊效果

(1)text-align

left: 内容左对齐。 
center: 内容居中对齐。 
right: 内容右对齐。 

justify: 内容两端对齐,但对于强制打断的行(被打断的这一行)及最后一行(包括仅有一行文本的情况,因为它既是第一行也是最后一行)不做处理。

start: 内容对齐开始边界。
end: 内容对齐结束边界。

match-parent: 这个值和inherit表现一致,只是该值继承的start或end关键字是针对父母的direction值并计算的,计算值可以是 left 和 right 。

justify-all: 效果等同于justify,不同的是最后一行也会两端对齐。

(2)text-indent

<length>: 用长度值指定文本的缩进。可以为负值。 
<percentage>: 用百分比指定文本的缩进。可以为负值。 

each-line: 定义缩进作用在块容器的第一行或者内部的每个强制换行的首行,软换行不受影响。

hanging: 反向所有被缩进作用的行。

(3)text-decoration-line

none: 指定文字无装饰 
underline: 指定文字的装饰是下划线 
overline: 指定文字的装饰是上划线 
line-through: 指定文字的装饰是贯穿线 
blink: 指定文字的装饰是闪烁。 

(4)text-decoration-color

<color>: 指定颜色。 

(5)text-decoration-style

solid: 实线 
double: 双线 
dotted: 点状线条 
dashed: 虚线 
wavy: 波浪线 

(6)text-shadow

none: 无阴影 
<length>①: 第1个长度值用来设置对象的阴影水平偏移值。可以为负值 <length>②: 第2个长度值用来设置对象的阴影垂直偏移值。可以为负值 <length>③: 如果提供了第3个长度值则用来设置对象的阴影模糊值。不允许负值 
<color>: 设置对象的阴影的颜色。 

【3】示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        td {
            text-align: right;
            text-indent: 1px;
            text-decoration-line: overline;
            text-decoration-color: deeppink;
            text-decoration-style: wavy;
            text-shadow: 10px 10px 10px blue;
        }
    </style>
</head>
<body>
<table>
    <thead>
    <tr>
        <th>username</th>
        <th>password</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>max</td>
        <td>123456</td>
    </tr>
    </tbody>
</table>
</body>
</html>

【十】背景

【1】概述

background CSS1/3 简写属性。定义元素的背景特性
background-color CSS1 定义元素使用的背景颜色
background-image CSS1/3 定义元素使用的背景图像
background-repeat CSS1/3 定义元素的背景图像如何填充
background-attachment CSS1/3 定义滚动时背景图像相对于谁固定
background-position CSS1/3 指定背景图像在元素中出现的位置
background-origin CSS3 指定的背景图像计算background-position时的参考原点(位置)
background-clip CSS3 指定对象的背景图像向外裁剪的区域
background-size CSS3 定义背景图像的尺寸大小

【2】背景装饰

(1)background-color

<color>: 指定颜色。 

(2)background-image

none: 无背景图。 
<image>: 使用绝对或相对地址指或者创建渐变色来确定图像。 

(3)background-position

<percentage>: 用百分比指定背景图像在元素中出现的位置。可以为负值。参考容器尺寸减去背景图尺寸进行换算。 
<length>: 用长度值指定背景图像在元素中出现的位置。可以为负值。 center: 背景图像横向或纵向居中。 
left: 背景图像从元素左边开始出现。 
right: 背景图像从元素右边开始出现。 
top: 背景图像从元素顶部开始出现。 
bottom: 背景图像从元素底部开始出现。 

(4)background-size

<length>: 用长度值指定背景图像大小。不允许负值。 
<percentage>: 用百分比指定背景图像大小。不允许负值。 
auto: 背景图像的真实大小。
cover: 将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。 contain: 将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。 

(5)background-repeat

repeat-x: 背景图像在横向上平铺 
repeat-y: 背景图像在纵向上平铺 
repeat: 背景图像在横向和纵向平铺 
no-repeat: 背景图像不平铺 
round: 当背景图像不能以整数次平铺时,会根据情况缩放图像。
space: 当背景图像不能以整数次平铺时,会用空白间隙填充在图像周围。

【3】示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            width: 500px;
            height: 500px;
            /*background-color: brown;*/
            background-image: url("https://inews.gtimg.com/news_bt/OWqDAC6beDUWLEZRx5hye7ZM7zX_ZYCr6gRUq7nsCE6fgAA/641");
            background-position: top;
            background-size: contain;
            background-repeat: repeat-x;
        }
    </style>
</head>
<body>

<div>

</div>

</body>
</html>

【十一】边框

【1】边框属性

border CSS1 简写属性。定义元素边框的外观特性。参阅outline属性
border-width CSS1 简写属性。定义元素的边框厚度
border-style CSS1 简写属性。定义元素的边框样式
border-color CSS1 简写属性。定义元素的边框颜色
box-shadow CSS3 定义元素的阴影
border-radius CSS3 简写属性。定义元素的圆角
border-image CSS3 简写属性。定义将图像应用到元素的边框上
border-image-source CSS3 定义元素边框样式所使用的图像。
border-image-slice CSS3 用以指定从哪 4 个位置分割图像(遵循上右下左的顺序)
border-image-width CSS3 定义元素边框图像的厚度
border-image-outset CSS3 定义边框图像从边框边界向外偏移的距离
border-image-repeat CSS3 定义分割图像怎样填充边框图像区域

【2】边框装饰

(0)border

<line-width>: 定义元素的边框厚度。 
<line-style>: 定义元素的边框样式。
<color>: 定义元素的边框颜色。 

<line-style> = none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset

(1)border-color

<color>: 指定颜色。 

(2)border-width

<length>: 用长度值来定义边框的厚度。不允许负值 
medium: 定义默认厚度的边框。计算值为3px 
thin: 定义比默认厚度细的边框。计算值为1px 
thick: 定义比默认厚度粗的边框。计算值为5px 

(3)border-style

none: 无轮廓。当定义了该值时,border-color将被忽略,border-width计算值为0,除非边框轮廓应用了border-image。 

hidden: 隐藏边框。 
dotted: 点状轮廓。 
dashed: 虚线轮廓。 
solid: 实线轮廓 
double:双线轮廓。两条单线与其间隔的和等于指定的border-width值 
groove: 3D凹槽轮廓。 
ridge: 3D凸槽轮廓。 
inset: 3D凹边轮廓。 
outset: 3D凸边轮廓。 

(4)box-shadow

none: 无阴影 
<length>①: 第 1 个长度值定义元素的阴影水平偏移值。正值,阴影出现在元素右侧;负值,则阴影出现在元素左侧 
<length>②: 第 2 个长度值定义元素的阴影垂直偏移值。正值,阴影出现在元素底部;负值,则阴影出现在元素顶部 
<length>③: 第 3 个长度值定义元素的阴影模糊值半径(如果提供了)。该值越大阴影边缘越模糊,若该值为0,阴影边缘不出现模糊。不允许负值 <length>④: 第 4 个长度值定义元素的阴影外延值(如果提供了)。正值,阴影将向四面扩展;负值,则阴影向里收缩
<color>: 定义元素阴影的颜色。如果该值未定义,阴影颜色将默认取当前最近的文本颜色 
inset: 定义元素的阴影类型为内阴影。该值为空时,则元素的阴影类型为外阴影 

(5)border-radius

<length>: 用长度值定义圆形半径或椭圆的半长轴,半短轴。不允许负值 <percentage>: 用百分比定义圆形半径或椭圆的半长轴,半短轴。水平方向百分比参照元素宽度(非内容宽度),垂直方向参照元素高度。不允许负值 

(6)border-image

border-image-source: 定义元素边框背景图像,可以是图片路径或使用渐变创建的“背景图像”。 
border-image-slice: 定义元素边框背景图像从什么位置开始分割。 border-image-width: 定义元素边框背景图像厚度。 
border-image-outset: 定义元素边框背景图像的外延尺寸。 
border-image-repeat: 定义元素边框背景图像的平铺方式。 

【3】示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            width: 400px;
            height: 400px;
            border-color: grey ;
            border-width: 30px;
            border-style: outset;
            box-shadow: 10px 10px 10px 10px;
            border-radius: 50%;
        }
        p{
            width: 400px;
            height: 400px;
            border: 5px dotted green;
        }
    </style>
</head>
<body>

<div>

</div>

<p>

</p>
</body>
</html>

【十二】display属性

【1】概述

none:
隐藏对象。与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间
inline:
指定对象为内联元素。
block:
指定对象为块元素。
list-item:
指定对象为列表项目。
inline-block:
指定对象为内联块元素。
table:
指定对象作为块元素级的表格。类同于html标签<table>
inline-table:
指定对象作为内联元素级的表格。类同于html标签<table>
table-caption:
指定对象作为表格标题。类同于html标签<caption>
table-cell:
指定对象作为表格单元格。类同于html标签<td>
table-row:
指定对象作为表格行。类同于html标签<tr>
table-row-group:
指定对象作为表格行组。类同于html标签<tbody>
table-column:
指定对象作为表格列。类同于html标签<col>
table-column-group:
指定对象作为表格列组显示。类同于html标签<colgroup>
table-header-group:
指定对象作为表格标题组。类同于html标签<thead>
table-footer-group:
指定对象作为表格脚注组。类同于html标签<tfoot>
run-in:
根据上下文决定对象是内联对象还是块级对象。
box:
将对象作为弹性伸缩盒显示。(伸缩盒最老版本)
inline-box:
将对象作为内联块级弹性伸缩盒显示。(伸缩盒最老版本)
flexbox:
将对象作为弹性伸缩盒显示。(伸缩盒过渡版本)
inline-flexbox:
将对象作为内联块级弹性伸缩盒显示。(伸缩盒过渡版本)
flex:
将对象作为弹性伸缩盒显示。(伸缩盒最新版本)
inline-flex:
将对象作为内联块级弹性伸缩盒显示。(伸缩盒最新版本)
"""
只要块儿级标签可以设置长宽 行内标签是不可以的(长宽有内部文本决定)
"""
display:inline  让标签具备行内标签的特性(不能设置长宽)
display:block   让标签具备块儿级标签的特性(可以设置长宽)
display:inline-block  使元素同时具有行内元素和块级元素的特点
display:none    隐藏标签(重点)  页面上不会保留位置也不显示
visibility:hidde  也是隐藏标签 但是位置会保留

【2】示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #d1{
            width: 400px;
            height: 400px;
            background-color: red;
            display: inline;
        }
        #p1{
            width: 400px;
            height: 400px;
            background-color: deeppink;
            display: block;
        }
        #p2 {
            width: 400px;
            height: 400px;
            background-color: blue;
            display: none;
            /*visibility: hidden;*/
        }
    </style>
</head>
<body>
<div id="d1">
    这是 d1 标签
</div>
<hr>
<span id="p1">
    这是 p1
</span>
<hr>
<span id="p2">
    这是 p2
</span>
<p>66666</p>

<p>
    display 属性 可以将块级标签变为行内
</p>
</body>
</html>

posted @ 2024-06-24 19:42  光头大炮  阅读(49)  评论(0编辑  收藏  举报