CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的阴影效果等等,我们只需要改几行代码,不需要借助任何软件,就能轻而易举的实现,感觉就像魔法师一般,几秒钟就能得到一个想要的效果,是不是很酷呢。

CSS为我们提供了选择器,这个酷酷的魔法工具,让我们随意能够操作网页元素的样式,CSS选择器众多,我们不可能一次性学完,但是这30个CSS选择器我们必须熟练记忆,可能有的同学觉得没必要学这么多,掌握了id、class、后代选择器就够了,这算完事了吗?如果是这样你就错过了很多灵活运用CSS的机会,虽然这些新属性很多都属于CSS3,但是我们掌握这些新属性后还是有很大的好处的。

从本篇文章起,我给大家归纳了常用的30个CSS选择器,希望通过我的总结,你能够喜欢上这些常用的选择器,废话不多说,我们这篇文章将介绍前10个。

在介绍之前,我们先理解下文档结构树的父子关系

在学习CSS选择器之前,我们需要弄清楚文档结构的父子关系,什么是父元素、子元素以及祖辈元素和后代元素这些概念,清楚了这些逻辑关系后,你才能更好的掌握CSS选择器。如下图所示,我们用树形结构来表示一个文档结构。

如上图所示,相邻的两个节点(层级是连续的),他们之间是父子关系。如果两个元素之间跨越两个层级以上,它们是祖辈和后代的关系。

1、*:通用选择器

针对初学者来说,我们还是从简单的开始学起,首先我们来认识下通用选择器,然后再逐步深入学习其它高级的选择器,假如我们想让文档中的每个元素都显示成红色,我们可以这么做:

* {color:red;}

通用选择器,可以匹配页面所有的元素。 许多开发者可能会用这个技巧如下代码所示让元素居中,在开发测试阶段固然是好的,但是我不建议这么做,因为这样做会给浏览器增加很大的负担。

* { margin: 0; padding: 0;}

浏览器兼容性:

  • IE6+

  • Firefox

  • Chrome

  • Safari

  • Opera

2、#X:ID选择器

ID选择器的开头使用#号,但是你在使用的时候,需要谨慎。

问问自己:是否真的需要使用ID选择器来定义样式

id选择器比较局限,不能重用。因此需要慎重考虑。

#container { width: 960px; margin: auto;}

浏览器兼容性:

  • IE6+

  • Firefox

  • Chrome

  • Safari

  • Opera

3、.X:类选择器

类选择器的开头用.(点)进行表示。与ID选择器的区别就是可以重用。定义多个元素的样式,好比按组进行归类,同一类的样式统一定义。

.error {color: red;}

如果把两个类串在一起,选择的就是同时具有两个类名的元素,类名的顺序则无所谓,比如 , css 选择器你也可以这样写 .warning .urgent。

浏览器兼容性:

  • IE6+

  • Firefox

  • Chrome

  • Safari

  • Opera

4、X Y:后代选择器

后代选择器,英文名称:descendant selector,本文的开头我们学习了什么是后代元素,比如我们要选择在li元素中包含a标签的链接(不是文档中所有的链接),取消下划线的默认样式,我们可以这样代码实现:

li a {text-decoration: none;}

经验分享: 如果你的选择器看起来像X Y Z A B.error这样就错了。问问自己是否真的需要加入这么多负荷, 这样写的可读性也太差了。还有一个需要注意的,后代元素的层级问题,可能会很深。

浏览器兼容性:

  • IE6+

  • Firefox

  • Chrome

  • Safari

  • Opera

5、X:元素选择器

假如你想针对Html预定义的标签,比如类似:p,h3,em,a这些标签,我们可以快速为某类标签定义样式。如下段代码所示:

a { color: red; }ul { margin-left: 0; }

浏览器兼容性:

  • IE6+

  • Firefox

  • Chrome

  • Safari

  • Opera

6、X:visited and X:link :链接伪类选择器

:link 伪类来定义所有还没有点击链接的样式,:visited 伪类定义我们曾经点击过或者访问过的链接样式,示例代码如下:

a:link { color: red; }a:visted { color: purple; }

浏览器兼容性:

  • IE7+

  • Firefox

  • Chrome

  • Safari

  • Opera

7、 X + Y:紧邻同胞选择器

在同一个父元素中,选择相邻的同级别的元素,我们可以使用紧邻同胞选择器(adjacent selector)。如若想把紧跟在h1元素的段落上外边距去掉,你可以这么写:

h1 + p { margin-top:0 }

浏览器兼容性:

  • IE7+

  • Firefox

  • Chrome

  • Safari

  • Opera

8、 X > Y:子元素选择器

有时候我们并不想选择所有的后代元素,而是想缩小范围,只选择一个元素的子元素,比如我们只想选择 #container>ul 定义id为container的div里的ul元素,而不是更深的后代元素比如li里的ul。

html文档结构:

<div id="container"><ul><li> List Item<ul><li> Child </li></ul></li><li> List Item </li><li> List Item </li><li> List Item </li></ul></div>

css代码如下:

div#container > ul {border: 1px solid black;}

文档选择树形结构:

代码效果:

浏览器兼容性:

  • IE7+

  • Firefox

  • Chrome

  • Safari

  • Opera

9、 X ~ Y:后续同胞选择器

后续同胞选择器使用 ~ 表示,选择一个元素后面同属一个父元素的另一个元素。这个选择器和 X + Y 很像,但没那么严格。后续同胞选择器应用会更广泛。比如下面这个例子,我们选择所有ul后面的P元素。

html文档结构:

   <div id="container"><ul><li> List Item<ul><li> Child </li></ul></li><li> List Item </li><li> List Item </li><li> List Item </li></ul><p> Lorem ipsum dolor sit amet, <a href="#" title="Some title">consectetur</a> adipisicing elit, sed do eiusmod tempor. </p><p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor. </p><p> Lorem ipsum dolor sit amet, consectetur <a href="#">adipisicing</a> elit, sed do eiusmod tempor. </p><p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor. </p></div>

css代码如下:

ul ~ p { color: red;}

文档选择树形结构:

代码效果:

浏览器兼容性:

IE7+ Firefox Chrome Safari Opera

10、 X[title]:简单属性选择器

如果想选择具有某个属性的元素,而不管属性的值是什么,我们可以使用简单属性选择器。例如想让带有title属性的链接标签才会被匹配,没有title属性的标签不会受到影响。你可以这么写代码:

a[title] { color: green;}

浏览器兼容性:

IE7+ Firefox Chrome Safari Opera

css a标签去掉下划线_这30个CSS选择器,你必须熟记(上)相关推荐

  1. html a标签去掉下划线_让HTML元素动起来

    主要内容标题标签.段落标签.强制换行.水平线.图片.超链接.文本格式化标签.列表和表格.(结合视频学习效果更佳) https://www.zhihu.com/video/125365160263765 ...

  2. html a标签去掉下划线_如何用HTML基本元素制作表格

    第2天[HTML基本元素] 主要内容 标题标签 段落标签 强制换行 水平线 图片 超链接 文本格式化标签 列表 表格 学习目标 一.标题 标题(Heading)是通过 <h1> - < ...

  3. html a标签去掉下划线_菜鸟HTML基础学习篇

    一.HTML初识 HTML概述 HTML:超文本标记语言(Hyper TextMarkup Languag,通过HTML标签对网页中的文字.图片.连接进行美化 关键词:文本.标记.语言 HTML格式 ...

  4. css a标签去掉下划线_CSS -- 三大特性

    Ⅰ 继承性 给某一个元素设置一些属性,该元素的后代也可以使用,这个我们就称之为继承性 只有以color.font-.text-.line-开头的属性才可以继承 a标签的文字颜色和下划线是不能继承别人的 ...

  5. css a标签去掉下划线_CSS入门知识汇总

    1.CSS认识 在谈论CSS的概念之前,我们先说一说web标准的目的--其在于创建一个统一的用于web表现层的技术标准,以便通过不同浏览器或终端设备向最终用户展示信息内容.一个网页的呈现是由三部分组成 ...

  6. css a标签去除下划线

    css a标签去除下划线 a{ text-decoration:none; } 转载于:https://www.cnblogs.com/luckybaby519/p/10155389.html

  7. htm中a标签去掉下划线是那个属性

    htm中a标签去掉下划线是那个属性 a{ text-decoration:none; } 或者把这个属性分别加到a标签下, a:link{ text-decoration:none; } a:visi ...

  8. CSS实现a标签去掉下划线以及点击不再有颜色变化

    去掉下划线 a{text-decoration: none; } 点击字体不再有颜色变化 统一设置全局默认字体颜色为黑色即可 *{color: #000000; }

  9. input标签变为下划线_标签变成13

    input标签变为下划线 This interview was given to Andres Lomeña (professor, doctor of sociology, and contribu ...

最新文章

  1. 如何定制化SAP Spartacus的购物车图标
  2. jQuery Mobile 1.1 : 更流畅,更快捷,更实用
  3. Bootstrap采样方法的python实现
  4. 大数据在智慧社区的作用有哪些
  5. php之使用file_get_contents对百度orc进行文字识别(二维码识别同理)--base64编码方式(解决image format error)
  6. 一个壮观的雨瀑布视频
  7. 关于ModifyStyle
  8. oracle的order by排序优化,oracle order by 排序优化
  9. Android学习笔记之百度地图基础知识
  10. Word 2007书籍排版完全手册
  11. Network: 光纤猫下无线路由器的设置
  12. java整数类和自然数类的简单实现
  13. 快手如何运营才能快速涨粉?
  14. 【华为机试真题 Python实现】查找众数及中位数
  15. 手撕BP网络,你值得拥有!
  16. 互联网人养娃行为大赏
  17. mysql 社区版 tokudb,TokuDB·社区八卦·TokuDB团队
  18. 微信大量下架数字藏品相关小程序:NFT产品究竟是未来还是陷阱?
  19. R语言问题【已解决】读取CSV稳健出错:invalid multibyte string
  20. 商用图片素材,高清无水印

热门文章

  1. java的多态是什么意思_Java中的多态是什么?
  2. 4种实例 advice aop_Java动态代理在Spring的应用:AOP编程与动态代理知识
  3. VS调试时怎么跳过for循环?
  4. python 报错 xxx is not callable 原因及解决办法
  5. Yunyang tensorflow-yolov3 voc_train.txt以及voc_test.txt引用的路径位置
  6. 到底什么是面向对象,面试中怎么回答。面向过程和面向对象的区别是什么。java跨平台特性以及java和C++的区别。面向对象的三大特性——封装、继承和多态。面向对象的高拓展性以及低耦合度怎么体现?
  7. Ubuntu 安装 Docker 容器
  8. python多线程库_Python多线程常用包对比
  9. Linux运维:CentOS7下查看内存占用
  10. java将数组元素倒置(反转)的方法?我只想到了5种,有其他方式欢迎补充