css3 选择器


Posted in HTML / CSS onMay 11, 2022

CSS3给我们新增了选择器,可以更加便捷,更加自由的选择目标元素,你还不知道吗?

属性选择器

属性选择器可以根据元素特定属性的来选择元素。这样就可以不用借助于类或者 id 选择器。

选择符 简介
E[att ] 选择具有 att 属性的 E 元素
E[att =" val"] 选择具有 att 属性且属性値等于 val 的 E 元素
E[ att^=“val”] 匹配具有 att 属性且值以 val 开头的 E 元素
E[ att$=“val”] 匹配具有 att 属性且值以 val 结尾的 E 元素
E[ att*=“val”] 匹配具有 att 属性且值中含有 val 的 E 元素

示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /*1.必须是input,且包含value这个属性*/
        input[value]{
            color:red;
        }
        /* 2. 选择属性=值得元素 */
        input[type="password"]{
            background-color: pink;
        }
        /* 3.匹配具有class属性且值以 icon 开头的 div元素 */
        div[class^="icon"]{
            color: blue;
        }
        /*4.匹配具有class属性且值以data结尾的div元素 */
        div[class$="data"]{
            color:green;
        }
        /*5.匹配具有class属性且值包含om的div元素 */
        div[class*="om"]{
            color: orange;
        }
    </style>
</head>
<body>
    <input type="text">
    <input type="text" value="请输入用户名">
    <input type="password" name="" >
    <div >小图标1</div>
    <div >小图标2</div>
    <div >小图标3</div>
    <div >小图标4</div>
    <div >小图标5</div>
    <div >我是阿牛</div>
    <div >阿牛</div>
    <div >哇</div>
    <div >你好</div>
    <div >好</div>
</body>
</html>

css3 选择器

结构伪类选择器

结构伪类选择器主要根据文档结构来选择元素,常用于选取父级选择器里面的了元素

选择符 简介
E : first - child 匹配父元素中的第一个子元素E
E : last - child 匹配父元素中最后一个 E 元素
E : nth - child ( n ) 匹配父元素中的第个子元素 E
E : first - of - type 指定类型 E 的第一个
E : last - of - type 指定类型 E 的最后一个
E : nth - of - type ( n ) 指定类型 E 的第 n 个

区别:

nth - child 对父元素里面所有孩子排序选择(序号是固定的)先找到第 n 个孩子,然后看是否和 E 匹配。nth -

of - type 对父元素里面指定子元素进行排序选择。先去匹配 E ,然后再根据E找第 n 个孩子。

注: nth - child ( n )选择某个父元素的一个或多个特定的子元素。

  • n 可以是数字,关键字和公式。
  • n 如果是数字,就是选择第 n 个子元素,里面数字从1开始…。
  • n 可以是关键字: even 偶数, odd 奇数。
  • n 可以是公式;常见的公式如下(如果 n 是公式,则从0开始计算,但是第0个元素或者超出了元素的个数会被忽略)
公式 取值
n 1 2 3 …
2n 偶数
2n+1 奇数
5n 5 10 15…
n+5 从第5个开始(包含第五个)到最后
-n+5 前5个(包含第5个)…
... ...

示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 选择ul里的第一个孩子li */
       ul li:first-child{
           background-color: red;
       }
       /* 选择ul里的最后一个孩子li*/
       ul li:last-child{
           background-color: green;
       }
       /* 选择ul里的第2个孩子li */
       ul li:nth-child(2){
           background-color: skyblue;
       }
        /* 选择ol里的第偶数个孩子li */
        ol li:nth-child(even){
            background-color: blue;
        }
         /* 选择ol里的第奇数个孩子li */
        ol li:nth-child(2n+1){
            background-color: yellow;
        }
    </style>
</head>
<body>
    <ul>
        <li>我是第1个孩子</li>
        <li>我是第2个孩子</li>
        <li>我是第3个孩子</li>
        <li>我是第4个孩子</li>
        <li>我是第5个孩子</li>
        <li>我是第6个孩子</li>
        <li>我是第7个孩子</li>
        <li>我是第8个孩子</li>
    </ul>
    <ol>
        <li>我是第1个孩子</li>
        <li>我是第2个孩子</li>
        <li>我是第3个孩子</li>
        <li>我是第4个孩子</li>
        <li>我是第5个孩子</li>
        <li>我是第6个孩子</li>
        <li>我是第7个孩子</li>
        <li>我是第8个孩子</li>
    </ol>
</body>
</html>

css3 选择器

伪元素选择器

选择符 简介
::before 在元素内部的前面插入内容
:: after 在元素内部的后面插入内容

注意:

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

示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
      div{
          width: 200px;
          height: 200px;
          background-color: skyblue;
        }
        /* 创建的是行内元素,设置宽高要转换为行内块或者浮动 */
      div::before{
          /* content属性是必须要写的 */
          content: '我';
          float: left;
          width: 30px;
          height: 30px;
          background-color: pink;

      }
    
      div::after{
          content: '阿牛';
      }
    </style>
</head>
<body>
    <div>
        是
    </div>
</body>
</html>

css3 选择器

结语

以上就是css3新增选择器的应用示例的详细内容!

 

Tags in this post...

HTML / CSS 相关文章推荐
CSS3 渐变(Gradients)之CSS3 径向渐变
Jul 08 HTML / CSS
纯CSS3大转盘抽奖示例代码(响应式、可配置)
Jan 13 HTML / CSS
css3通过scale()、rotate()实现放大、旋转
Mar 19 HTML / CSS
CSS3 中filter(滤镜)属性使用详解
Apr 07 HTML / CSS
css3实现简单的白云飘动背景特效
Oct 28 HTML / CSS
HTML5表格_动力节点Java学院整理
Jul 11 HTML / CSS
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
Jan 08 HTML / CSS
浅析border-radius如何兼容IE
Apr 19 HTML / CSS
浅谈基于Canvas的手绘风格图形库Rough.js
Mar 19 HTML / CSS
手摸手教你用canvas实现给图片添加平铺水印的实现
Aug 20 HTML / CSS
html5启动原生APP总结
Jul 03 HTML / CSS
td 内容自动换行 table表格td设置宽度后文字太多自动换行
Dec 24 HTML / CSS
六个好看实用的 HTML + CSS 后台登录入口页面
HTML CSS 一个标签实现带动画的抖音LOGO
常用的文件对应的MIME类型汇总
Apr 26 #HTML / CSS
通过feDisplacementMap和feImage实现水波特效
什么是css原子化,有什么用?
Apr 24 #HTML / CSS
css3 文字断裂效果
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
Apr 19 #HTML / CSS
You might like
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
犀利的js 函数集合
2009/06/11 Javascript
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
2011/11/10 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
使用javascript插入样式
2016/03/14 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
JS之相等操作符详解
2016/09/13 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
实例讲解python函数式编程
2014/06/09 Python
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
Python中装饰器学习总结
2018/02/10 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
Python: glob匹配文件的操作
2020/12/11 Python
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
优秀医生事迹材料
2014/02/12 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
调解书格式范本
2015/05/20 职场文书
2019各种保证书范文
2019/06/24 职场文书
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js