CSS选择器的简单介绍

前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!

 

选择器权重

  如果以4位数表示选择符权重,那么:

元素选择器的权重是1;

id 选择器的权重为100;

立即学习“前端免费学习笔记(深入)”;

class类选择器的权重为10;

内联style(JS操作的也是行间样式)的权重为1000;

当然如果某属性值设置了!important ,它还是最重要的,直接通杀;

 

CSS选择器简介

通配选择器,*{…},星号代表通配选择器,可以与任何元素匹配;

元素选择器,html{…},body{…},p{…},文档的元素是最基本的选择器,元素选择器;

id 选择器,#value,给元素设置一个 id 属性 ,值为value;

class 类选择器,.value{…},给元素设置一个 class 属性,值为value;

属性选择器,属性选择器根据元素的属性及属性值来选择元素,有很多种:

简单属性选择器:img[title],获取设置了alt属性的img元素;#wrapper[outter],获取 id 为 wrapper 并且具有属性 wrapper 的元素;

具体属性选择器:input[type=”button”],获取属性值 button 的 input 元素;#wrapper[outter=”abc”],获取 id 为 wrapper 并且属性 outter的值为 abc 的元素;

部分属性选择器:p[class ^=”a”],获取 class 属性值以 a 为开头的 p 元素;p[class $=”b”],获取 class 属性值以 b 为结尾的 p 元素;

分组选择器,将要分组的选择器用逗号隔开;#wrapper , #content{…},获取 id 为 wrapper 的元素,和 id 为 content 的元素,两个都获取;

元素选择器0,将要分组的选择器用空格隔开,#wrapper #content{…},在 id 为 wrapper 的元素元素选择器1内部,获取 id 为 content 的元素,可能是子元素,也可能是子孙元素;

元素选择器2,将要分组的选择器用大于号隔开,#wrapper > #content{…},在 id 为 wrapper 的元素对象内部,获取 id 为 content 的子元素,只往下找一级;子元素选择器和后代选择器不太一样,后代选择器包含子元素选择器,并且后代选择器还会继续向下查找;

兄弟元素选择器:

元素选择器3(IE6及以下不支持),将要分组的选择器用加号隔开,.wrapper + .content{…},获取 class 为 wrapper 的元素之后,紧接着的这一个 class 为 content 的元素,和元素选择器4不同的是,相邻兄弟选择器只获当前元素之后取紧接着的这一个元素,后面就算还有相同的,也选择不到了;

通用兄弟选择器(IE7及以下不支持),将要分组的选择器用波浪号隔开,.wrapper ~ .content{…},获取 class 为 wrapper 的元素之后,所有的 class 为 content 的元素,和相邻兄弟选择器是不一样的;

元素选择器5选择器(IE8及以下不支持):

:root 选择文档的根元素,即 html 元素;

input元素选择器6,当前 input 框获得焦点;

element元素选择器7,鼠标悬停在当前元素上面;

p:nth-of-type(n),选择是其父元素的第 n 个 p 元素,这个是依照父元素内部的 p 元素的顺序计算 n ,然后获取的; n 是元素选择器8,并且从1开始,也可以是公式,也可以是关键字even(偶数)、odd(奇数);

p元素选择器9,选择是其父元素的第 1 个 p 元素,与 p:nth-of-type(1) 效果相同;

pclass0,选择是其父元素的最后一 个 p 元素,注意前面没有 nth;

p:nth-last-of-type(n),选择是其父元素的第 n 个 p 元素,但是是从最后一个子项往前数,注意前面有 nth;

p:nth-child(n),选择是其父元素的第 n 个子元素,并且得是 p 元素,这个是依照父元素内部的子元素的顺序计算 n ,然后再看第 n 个是否为 p 元素;这就出现一种情况,第 n 个子元素可能不是 p ,然后就获取不到了,所以用 nth-of-type(n) 会好一点;

pclass1,选择是其父元素的第 1 个元素,并且是 p 元素,与 p:nth-child(1) 相同;

p:last-child,选择是其父元素的最后一个元素,并且是 p 元素;

p:nth-last-child(n),选择是其父元素的第 n 个子元素,并且得是 p 元素,但是是从最后一个子项往前数,注意前面有 nth;

还有很多其他的…

伪元素选择器:

class2,指定一个元素第一个字母的样式,所有前导标点符号应与第一个字母一同应用该样式,并且只能与块级元素关联;

class3,设置元素中第一行文本的样式,只能与块级元素关联;

class4,IE7及以下不支持,在元素内容的最开始插入生成内容;

class5,IE7及以下不支持,在元素内容的最后插入生成内容;

::selection,匹配被用户选择的部分;只支持双冒号写法,只支持颜色和背景颜色两个样式;

以上就是CSS选择器的简单介绍的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1608488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月23日 21:54:12
下一篇 2025年12月23日 21:54:23

相关推荐

  • 用css解决标题显示字数超出省略号代替的方法

    标题字数超出场景: 最左边这栏我不行让他换行,怎么办呢? 步骤一:内容超出宽度时隐藏超出部分的内容 步骤二:当对象内文本溢出时显示省略标记(…) 立即学习“前端免费学习笔记(深入)”; 下面是解决办法: table{width:100px;table-layout:fixed;/* 只有…

    好文分享 2025年12月23日
    000
  • 浅析CSS中的浮动与清理

    作为前端写了很多页面布局,但是浮动这块一直是我似懂非懂的盲点,一方面用浮动能实现很多布局,另一方面浮动造成的影响又会破坏布局让人头疼,所以今天就特地写篇博文解决这块盲点。 本文主要讨论以下几个问题:1.浮动的原始用途2.浮动为什么会有文本环绕效果3.如何清理浮动造成的影响 浮动的原始用途 以下内容来…

    好文分享 2025年12月23日
    000
  • CSS3的30个选择器总结

    本文总结了30个CSS3选择器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 或许大家平时总是在用的选择器都是:#id  .http://www.php.cn/wiki/164.html” target=”_blank”>cla…

    2025年12月23日
    000
  • CSS实现Tab布局的示例代码分享(图)

    下面小编就为大家带来一篇CSS实现Tab布局的简单实例(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 一、布局方式 1、内容与tab分离 内容1 内容2 内容3 内容4 内容1 内容2 内容3 内容4 ul,li{ margin:0; padding:0; l…

    2025年12月23日
    000
  • 表格细边框的两种CSS实现方法

    在网页制作中,细边框这个制作方法是必不可少的。这里admin10000.com介绍2种常见的表格细边框制作方法,均通过XHTML验证。 表格细边框的两种CSS实现方法 /* 利用表格样式 border-collapse: collapse 实现细边框 */ .tab1 { width: 300px;…

    好文分享 2025年12月23日
    000
  • CSS命名及其书写的规范化

    CSS命名规范 一.文件命名规范 全局样式:global.css;框架布局:layout.css;字体样式:font.css;链接样式:link.css;打印样式:print.css; 二.常用类/ID命名规范 页 眉:header内 容:content容 器:container页 脚:footer…

    好文分享 2025年12月23日
    000
  • 用CSS hack技术解决浏览器兼容性问题

    什么是CSS Hack?   不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题。而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS Hack。 CSS Hack 形式   CSS Hack大致有3种表现形…

    好文分享 2025年12月23日
    000
  • 万能清除浮动样式

    这个是一个很流行的清除浮动的方法,在很多大项目上已经被完全采用。 这个方法来源于positioniseverything,通过after伪类:after和IEhack来实现,完全兼容当前主流浏览器。 .clearfix:after { content: “.”; clear: both; heigh…

    好文分享 2025年12月23日
    000
  • CSS初始化代码

    为什么要初始化CSS? CSS初始化是指重设浏览器的样式。不同的浏览器默认的样式可能不尽相同,所以开发时的第一件事可能就是如何把它们统一。如果没对CSS初始化往往会出现浏览器之间的页面差异。每次新开发网站或新网页时候通过初始化CSS样式的属性,为我们将用到的CSS或html标签更加方便准确,使得我们…

    好文分享 2025年12月23日
    000
  • 关于IE6下的CSS多类选择符

      多类选择符的写法。例如:   #my.c1.c2 { color:red;}  .c1.c2 { color:red;}   以上写法在IE7+/FF/Opera/Safari 等浏览器都支持。   但在IE6中,后一个类名会覆盖前一个类名,也就是说,上例被IE6理解为:   #my.c2 { …

    好文分享 2025年12月23日
    000
  • CSS实现背景透明,文字不透明(兼容各浏览器)

    在 FF/Chrome 等较新的浏览器中可以使用css属性background-color的rgba轻松实现背景透明,而文字保持不透明。而IE6/7/8浏览器不支持rgba,只有使用IE的专属滤镜filter:Alpha来实现,但是这样写法会把文字也变为透明,因此只有在透明容器的子节点(文本节点除外…

    2025年12月23日
    000
  • 教你如何用CSS创建打印页面

    用CSS创建打印页面,不必为打印而专门建立一个HTML文件,可以节省一些体力,其前提是按“WEB标准”用CSS+p布局HTML页面。 第一、在HTML页面加入为打印机设置的CSS文件 media=”screen” ,是面向屏幕的; media=”print&#82…

    好文分享 2025年12月23日
    000
  • CSS清除浮动方法总汇

    使用xhtml+css布局经常性地会使用到float,很多邪门的事儿都有可能是浮动在作怪,那么清除浮动就是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一。 此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景。 body { font-size:24px; …

    2025年12月23日
    000
  • 去掉超链接或按钮点击时出现的虚线边框

      在前端制作的过程中会发现,一些文字/图片链接,或者一些input控件,在点击时会在周围出现虚线边框,一般会在火狐和IE浏览器下出现虚线框,谷歌下不会有。   这些虚线边框是作为对视觉设计的一种辅助,在不使用鼠标,而用键盘Tab键进行页面浏览时,会标示出当前所在的链接或控件的位置,便于浏览。这对那…

    好文分享 2025年12月23日
    000
  • CSS命名规范及网站常用中英文对照表

    本文整理了常见的CSS文件命名规范、CSS样式ID命名规范及其网站中常用的中英文对照。 一、样式文件命名规范 主要的 master.css布局,版面 layout.css专栏 columns.css文字 font.css打印样式 print.css主题 themes.css 二、CSS注释 /*CS…

    好文分享 2025年12月23日
    000
  • CSS浮动与浮动清除(BFC)简单教程

    浮动 1. 什么是浮动 当元素的 float 属性不为 none 时就产生了浮动。 float .float { float: left; width: 100px; height: 100px; background-color: #ddd;} 2. 浮动的影响 浮动会使元素脱离文档流,具体表现为…

    2025年12月23日
    000
  • css各种实用技巧

    其它技巧和经验列表(*以下实例默认运行环境都为Standard mode): 如何让层在falsh上显示? 方法: 设置flash的wmode值为transparent或opaque 如何使用标准的方法在页面上插入flash? 方法: ![](*.jpg)至于flash的宽高可以在css里设置 如何…

    好文分享 2025年12月23日
    000
  • css之px自动转rem

    作为一名前端开发,尤其是在做移动端适配时,rem是我们经常用到的单位,它的好处大家可以自行搜索,网上已经有很多了。但是我们再将设计稿上的px转换成rem时,得手动的去计算,这是一个很耗时、费力的过程,有没有什么办法可以“解放”我们呢?(原谅我的懒~) 1.CSS处理器 Sass、LESS以及Post…

    2025年12月23日
    000
  • CSS教程(三)伪类——动态链接

    伪类可以看做是一种特殊的类选择符,是能被支持css的浏览器自动所识别的特殊选择符。它的最大的用处就是可以对链接在不同状态下定义不同的样式效果。 1.  语法 伪类的语法是在原有的语法里加上一个伪类(pseudo-class):selector:pseudo-class {property: valu…

    2025年12月23日
    000
  • CSS教程(四)如何在网页中插入CSS

    前两章我们了解了css的语法,但要想在浏览器中显示出效果,就要让浏览器识别并调用。当浏览器读取样式表时,要依照文本格式来读,这里介绍四种在页面中插入样式表的方法:链入外部样式表、内部样式表、导入外表样式表和内嵌样式。   链入外部样式表 链入外部样式表是把样式表保存为一个样式表文件,然后在页面中?l…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信