2021-10-15

CSS3新增特性

CSS3新增选择器

属性选择器

2021-10-15
示例代码:

 /* 只选择 type =text 文本框的input 选取出来 */
input[type=text] {
    color: pink;
}
/* 选择首先是div 然后 具有class属性 并且属性值 必须是 icon开头的这些元素 */
div[class^=icon] {
    color: red;
}
/* 选择首先是section 然后 具有class属性 并且属性值 必须是 data结尾的这些元素 */
section[class$=data] {
    color: blue;
}

总结:

1.属性选择器,按照字面意思,都是根据标签中的属性来选择元素
2.属性选择器可以根据元素特定属性的来选择元素。 这样就可以不用借助于类或者id选择器
3. 属性选择器也可以选择出来自定义的属性
注意:类选择器、属性选择器、伪类选择器,权重为 10。

结构伪类选择器

2021-10-15

示例代码:

 <style>
    ul li:first-child{
      background-color: red;
    }
  </style>

  <ul>
    <li>列表项一</li>
    <li>列表项二</li>
    <li>列表项三</li>
    <li>列表项四</li>
  </ul>

E:nth-child 与 E:nth-of-type 的区别:

2021-10-15

1.E:nth-child(n) 匹配父元素的第n个子元素E,也就是说,nth-child 对父元素里面所有孩子排序选择(序号是固定的) 先找到第n个孩子,然后看看是否和E匹配
2.E:nth-of-type(n) 匹配同类型中的第n个同级兄弟元素E,也就是说,对父元素里面指定子元素进行排序选择。 先去匹配E ,然后再根据E 找第n个孩子

总结:

1.结构伪类选择器一般用于选择父级里面的第几个孩子
2.nth-child 对父元素里面所有孩子排序选择(序号是固定的) 先找到第n个孩子,然后看看是否和E匹配
3.nth-of-type 对父元素里面指定子元素进行排序选择。 先去匹配E ,然后再根据E 找第n个孩子
4.关于 nth-child(n) 我们要知道 n 是从 0 开始计算的,要记住常用的公式
5.如果是无序列表,我们肯定用 nth-child 更多
6.类选择器、属性选择器、伪类选择器,权重为 10

伪元素选择器

2021-10-15

示例代码

<style>
    div {
        width: 200px;
        height: 200px;
        background-color: pink;
    }
    /* div::before 权重是2 */
    div::before {
        /* 这个content是必须要写的 */
        content: '我';
    }
    div::after {
        content: '小猪佩奇';
    }
</style>
<body>
    <div>
        是
    </div>
</body>

总结:

1.before 和 after 创建一个元素,但是属于行内元素
2.新创建的这个元素在文档树中是找不到的,所以我们称为伪元素
3.语法: element::before {}
4.before 和 after 必须有 content 属性
5.before 在父元素内容的前面创建元素,after 在父元素内容的后面插入元素
伪元素选择器和标签选择器一样,权重为 1

盒子模型

CSS3 中可以通过 box-sizing 来指定盒模型,有2个值:即可指定为 content-box、border-box,这样我们计算盒子大小的方式就发生了改变
box-sizing: content-box 盒子大小为 width + padding + border (以前默认的)
box-sizing: border-box 盒子大小为 width
如果盒子模型我们改为了box-sizing: border-box , 那padding和border就不会撑大盒子了(前提padding和border不会超过width宽度)

其他特性

图标变模糊 – CSS3滤镜filter

语法:

filter: 函数(); --> 例如: filter: blur(5px); --> blur模糊处理 数值越大越模糊

计算盒子宽度 – calc 函数

语法:

width: calc(100% - 80px);

注:括号里面可以使用 + - * / 来进行计算

CSS3 过渡

语法:

transition: 要过渡的属性 花费时间 运动曲线 何时开始;

  • 属性 : 想要变化的 css 属性, 宽度高度 背景颜色 内外边距都可以 。如果想要所有的属性都变化过渡, 写一个all 就可以
  • 花费时间: 单位是 秒(必须写单位) 比如 0.5s
  • 运动曲线: 默认是 ease (可以省略)
  • 何时开始:单位是 秒(必须写单位)可以设置延迟触发时间 默认是 0s (可以省略)
  • 后面两个属性可以省略
  • 记住过渡的使用口诀: 谁做过渡给谁加
上一篇:纯CSS实现横向瀑布流代码记录


下一篇:转载:CSS3之伪元素选择器和伪类选择器