Css攻克Selectors 一_html/css_WEB-ITnose
Selectors (选择器)
---------------参考MDN中css学习。
首先css选择器有很多,但总体概括起来的话有两种:
- 标签选择器(*是特殊情况),可但标签,也可上下文多标签;
- 属性选择器(id和class都是属性,特殊的属性);
标签选择器~单标签
指此单个的标签名字,使用时可直接用该标签进行样式操作,例如操作这段html中标签里的值。
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>Sample document</title> <link rel="stylesheet" href="style.css"> </head> <body> <p> <strong>C</strong>ascading <strong>S</strong>tyle <strong>S</strong>heets </p> </body></html>
在css文件中使用它的标签就能对标签里的属性进行样式操作,比如让字母变成红色。
strong { color: red;}
标签选择器~多标签
官方版
选择器 | 选择的元素 |
A E | 任何是元素A的后代元素E (后代节点指A的子节点,子节点的子节点,以此类推) |
A > E | 任何元素A的子元素 |
E:first-child | 任何元素的第一个子元素E |
B + E | 任何元素B的下一个兄弟元素E |
B ~ E | B元素后面的拥有共同父元素的兄弟元素E |
通俗解释版
- 选择一个祖先的所有子孙节点,例如 div p{…}
- 选择一个父元素的所有直属节点,例如 div > p{…}
- 选择某一个元素紧挨着的兄弟节点,例如 li + li{…}
- 选择某一个元素的所有同胞节点,例如 span ~ a{…}
- 以上各种情况的组合应用(不要组合过于复杂,编码讲求可读性第一)
给大家列举一个比较典型的应用,如下图
上图中的效果应该比较常见,在各个菜单之间加下划线。我之前的实现是:每个li都加一个border-bottom,在把最后一个li的border-bottom去掉。
其实完全没必要这样麻烦,下面一个样式设置即可解决:
ul li+li{ border-top: 1px solid #ccc;}
栗子引用:http://www.cnblogs.com/wangfupeng1988/p/4282954.html
属性选择器~
最首先当然是要拿出两位重量级选手了:class 和 id
(Class selectors)
通过设置元素的 class 属性,可以为元素指定类名。类名由开发者自己指定。 文档中的多个元素可以拥有同一个类名。
在写样式表时,类选择器是以英文句号(.)开头的。
(ID selectors)
通过设置元素的 id 属性为该元素制定ID。ID名由开发者指定。每个ID在文档中必须是唯一的。
在写样式表时,ID选择器是以#开头的。
我们来看一个栗子:
<p class="key" id="principal">
.key { color: green;}#principal { font-weight: bolder;}
上面的p标签同时具有 class 属性和id 属性,
css中id选择器principal必须是唯一的,而class选择器却是可以和其他标签中的key相同,从而达到多个标签同时操作。
你也可以将多个选择器组合起来构成更确定的选择器。比如,选择器.key 选中所有class属性为 key的元素. 选择器 p.key 选中所有class属性为key的<p> 元素。除了class 和 id,你还可以用方括号的形式指定其他属性。比如,选择器 [type='button'] 选中所有 type 属性为 button 的元素
实例: 使用类选择器和ID选择器
- 创建一个HTML文件
- 创建style1.css
<!doctype html><html> <head> <meta charset="UTF-8"> <title>Sample document</title> <link rel="stylesheet" href="style1.css"> </head> <body> <p id="first"> <strong class="carrot">C</strong>ascading <strong class="spinach">S</strong>tyle <strong class="spinach">S</strong>heets </p> <p id="second"> <strong>C</strong>ascading <strong>S</strong>tyle <strong>S</strong>heets </p> </body></html><br />
strong { color: red; }.carrot { color: orange; }.spinach { color: green; }#first { font-style: italic; }
3.保存文件使用浏览器执行
重新组织样式中规则的顺序,你会发现改变这几条规则的顺序不会影响最终效果。
类选择器 .carrot 和.spinach 比标签选择器 strong 拥有更高优先级。
ID 选择器 #first 比类选择器和标签选择器更优先。
结尾:
第一篇先记录这些吧,后面还有伪类和伪元素,个人还不是很懂,所以先学习学习在进行总结。
刚开始写博客,还有很多的不足个人感觉节奏还是有点问题,希望各位海涵。我会慢慢优化,如有遗漏希望各位前辈指教,一定虚心学习 谢谢~

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前

本文讨论了&lt; iframe&gt;将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文解释了HTML5&lt; time&gt;语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit
