<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS的基本规则和选择器</title> </head> <body> <p>Hello, Even</p> </body> </html>
<!-- 外部CSS,href中为外部文件的路径 -->
<link rel="stylesheet" href="styles.css">
<!-- 内部CSS -->
<style> p { color: red; } </style>
<!-- 内联CSS -->
<p style="color: red;">Hello, world</p>
p {
color: red;
width: 500px;
border: 1px solid black;
}
p,
li,
h1 {
color: red;
}/* 选择所有的span, strong, em元素 */
span {
background-color: yellow;
}
strong {
color: rebeccapurple;
}
em {
color: rebeccapurple;
}/* 1. 移除文档中所有元素的外边距(一般在重置样式表中使用) */
* {
margin: 0;
}
/* 2. 使用全局选择器,让选择器更易读 */
/* 选中所有article元素的第一个子元素 */
article :first-child {
}
/* 选择作为其他元素的第一子元素的<article>元素 */
article:first-child {
}
/* 为避免上面两者混淆可以添加全局选择器 */
article *:first-child {
}/* 应用在所有class属性存在highlight的元素上 */
.highlight {
background-color: yellow;
}
/* 应用在特定元素中class属性存在highlight的元素上 */
h1.highlight {
background-color: pink;
}
/* 应用在class属性同时存在notebox和warning的元素上 */
.notebox.warning {
border-color: orange;
font-weight: bold;
}/* 应用在id属性为one的那个元素上 */
#one {
background-color: yellow;
}
/* 应用在id属性为heading的h1元素上 */
h1#heading {
color: rebeccapurple;
}/* 匹配带有一个名为attr的属性的元素——方括号里的值 [attr] */
a[title] {
color: red;
}
/* 匹配带有一个名为attr的属性的元素,其值正为value——引号中的字符串。 [attr=value] */
a[href="https://example.com"] {
color: red;
}
/* 还有其他的匹配方式,例如 ~=(包含value)|=(值为value或value-开头)^=(value开头) $=(value结尾) *//* :hover —— 鼠标悬停时,链接变红。 */
input:focus { border: 2px solid blue; }
/* :focus —— 选中输入框时,边框变蓝。 */
button:active { background-color: yellow; }
/* :first-child —— 选中父元素的第一个子元素。 */
p:first-child { font-weight: bold; }
/* :last-child —— 选中父元素的最后一个子元素 */
li:last-child { color: green; }
/* :nth-child(n) —— 选中父元素的第 2 个子元素。 */
div:nth-child(2) { background-color: lightgray; }
/* :nth-child(odd/even) —— 选中奇数行/偶数行,用于表格隔行变色。 */
tr:nth-child(odd) { background-color: #f0f0f0; }/* ::before & ::after 用于在元素前/后插入内容,常用于装饰 */
h1::before { content: "🔥 "; }
h1::after { content: " ✨"; }
/* ::first-letter选中段落的首字母,放大并变红。 */
p::first-letter { font-size: 2em; color: red; }
/* ::first-line选中段落的第一行 */
p::first-line { font-weight: bold; }<body>
<div>
<article>
<div>
<p></p>
</div>
</article>
</div>
</body>
/* 后代选择器 */ body article p { color: red; }<body>
<article>
<p></p>
</article>
</body>
/* 子代关系选择器 */ article > p { color: red; }h1 {
color: blue;
}
.special {
color: blue;
}
/* 与下面等同,但如果选择器列表中混了一个无法起作用的选择器会导致整个选择器失效 */
h1, .special {
color: blue;
}不需要刷新页面就能看到最新的评论哦~ 快试试吧!
JosephNum
棒极了 旅游网站! 越来越好! 公路地標 我尊重这样的项目, 真实的旅行者分享建议。你的网站 就是 关于这些的。加油。
JosephNum
我尊重这样的项目, 充满真情实感。你的项目 就是 这样的。请继续。 小船漫遊 确实少有, 如此积极的氛围。太棒了。
JosephNum
很棒的 旅行素材! 这是出色的工作。 玫瑰花園 我珍视, 充满真情实感。你的博客 就是 最好的例子。请继续。
JosephNum
很稀有, 这么生动的旅行故事。非常酷。 [url=https://iqvel.com/zh-Hans/a/%E6%AF%94%E5%88%A9%E6%97%B6/%E5%B8%83%E9%B2%81%E5%A1%9E%E5%B0%94%E5%B7%A7%E5%85%8B%E5%8A%9B%E5%8D%9A%E7%89%A9%E9%A6%86]家庭親子[/url] 这个页面 认真地 分享经验。多写些!
JosephNum
温暖的 旅行故事! 已经规划路线。 歷史建築 吸引人的 旅行者门户网站, 不要停下 保持热情。致敬.