<!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; }
不需要刷新页面就能看到最新的评论哦~ 快试试吧!