CSS 定义:层叠样式表(Cascading Style Sheets,缩写为 CSS),是一种用于定义网页或文档的外观和样式的标记语言。
CSS是一种 样式表 语言,用来描述 HTML 文档的呈现 (美化内容)。它用于控制文本的字体、颜色、间距、布局、背景等各种样式属性,以及通过选择器来选择要应用样式的HTML元素。
CSS的主要目的是将内容和样式分离,使得网页结构和外观可以独立修改,从而增加了网页的可维护性和灵活性。
在CSS中,样式规则通常由选择器和一组属性-值对组成。
在一个HTML文档中,你可以将CSS样式放置在以下位置:
CSS的三种引入方式,分别是内联式、嵌入式和外部式。
style
属性中定义样式。这样的样式仅适用于特定元素。例如:<p style="color: blue;">这是一个蓝色的段落。p>
通过JavaScript,您可以访问元素的style属性,然后修改或设置其样式属性的值。这使得在响应用户交互或其他动态事件时能够实时改变元素的外观。
<p style="color: blue; font-size: 16px;">这是一个行内样式的段落。p>
内部样式表_(嵌入式):
使用CSS代码写在 style 标签里面
你可以在HTML文档的标签内使用
标签来定义样式。这些样式适用于整个文档。例如:
<head>
<style>
p {
color: green;
}
style>
head>
<body>
<p>这是一个绿色的段落。p>
body>
外部样式表_(外部式):
CSS 代码写在单独的 CSS 文件中 (.css)
你可以将CSS样式定义在一个独立的外部样式表文件中,通常以.css
扩展名保存。然后,通过使用元素将它链接到HTML文档中。这是最常用的方式,因为它可以在多个页面之间共享样式。例如:
在HTML文档中的标签内添加以下代码:
"stylesheet" href="目标地址"> /*rel关系--样式表,link引入*/
然后,在名为styles.css
的外部样式表文件中定义样式规则:
p {
color: purple;
}
这样,所有的段落文本将被设置为紫色,且这个样式可以在多个HTML文件中重复使用。
选择哪种放置CSS的方法取决于你的需求和项目的规模。通常,外部样式表是更好的选择,因为它提供了分离内容和样式的优势,并允许在多个页面之间共享样式定义。
HTML
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Css导入方式title>
<link rel="stylesheet" href="./Day03_MyCss/my02_01.css">
head>
<body>
<p>这是 p 标签p>
<div style="color: aqua; font-size: 45px;"> 这是 div 标签div>
body>
html>
CSS
/*02-01导入测试的CSS*/
p {
color: red;
}
CSS选择器的主要作用是定义哪些HTML元素应该应用特定的样式规则。具体来说,选择器用于:
定位元素:选择器允许您精确地定位HTML文档中的元素,以便为这些元素定义样式。例如,您可以使用选择器选择所有段落元素或特定类的元素。
样式应用:一旦选择器匹配了特定的HTML元素,您可以通过CSS规则为这些元素定义样式属性,如颜色、字体、边框等。这样,您可以使文档的外观和布局更具吸引力和一致性。
响应式设计:选择器可以与媒体查询结合使用,使您能够根据屏幕大小、设备类型或其他条件应用不同的样式,从而创建响应式的网页设计。
伪类和伪元素:选择器还允许您选择元素的特定状态,如鼠标悬停或元素的第一个子元素。这可以用于创建交互效果或调整文本的样式。
第四点中提到的伪类和伪元素选择器的示例包括:
:hover
伪类:这个伪类选择器用于在鼠标悬停在元素上时应用样式。例如,要在鼠标悬停在链接上时改变链接的颜色,您可以使用以下规则:color: red; } ```
:first-child
伪类:这个伪类选择器选择元素的第一个子元素。例如,要为列表中的第一个列表项应用特殊样式,您可以使用以下规则:font-weight: bold; } ```
::before
伪元素:这个伪元素选择器用于在元素的内容前插入生成的内容。例如,要在段落前添加引号,您可以使用以下规则:content: "“"; } ```
:nth-child
伪类:这个伪类选择器允许您选择元素的特定位置,例如奇数或偶数位置的子元素。以下是一个选择奇数行的表格行的示例:background-color: lightgray; } ```
这些伪类和伪元素选择器可用于创建交互效果、调整布局以及为页面的不同部分应用不同的样式,从而增强用户体验和网页设计的灵活性。
总之,CSS选择器是网页开发中的关键工具,它们使开发人员能够有选择地为不同的HTML元素定义样式,从而创建吸引人的用户界面和用户体验。
基础选择器是用于选择HTML和CSS中元素的基本工具。以下是四个常见的基础选择器:
它使用元素的名称作为选择器,
例如:p,h1,div,a,img......选择所有段落元素。
使用HTML元素的标签名作为选择器,用于选中所有匹配的元素并设置相同的样式。
选中同名标签设置相同的样式,无法差异化同名标签。
<p>选中同名标签设置相同的样式,无法差异化同名标签p>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>标签选择器title>
<style>
p{
color: chartreuse;
}
style>
head>
<body>
<p>p标签1p>
<p>p标签2p>
<p1>p标签3p1>
<div>div_标签div>
body>
html>
它使用`*`作为选择器,匹配所有元素,例如,`*`选择页面上的所有元素。它们设置相同的样式。通常用于重置或清除浏览器的默认样式,以确保在网页设计的初期得到一致的起点。
使用了通配符选择器来将文本颜色设置为红色。这可以确保在设计网页时,所有元素的文本颜色都被重置为红色,而不受浏览器默认样式的影响。
这是一个常见的用法,尤其是在开始网页设计时,以确保你从一个干净的状态开始,然后逐步为各个元素添加自定义的样式,要谨慎使用,以免过度重置浏览器默认样式。
它使用元素的唯一标识符(ID)作为选择器,以`#`开头,例如,`#myId`选择具有`id="myId"`属性的元素。
#
)开头,然后跟着ID名称来定义ID选择器。例如:#red
。<style>
/*定义id选择器*/
#red{
color: chartreuse;
}
style>
id
属性并指定ID名称,可以将ID选择器应用于一个元素。请注意,一个页面中的同一个ID应该是唯一的,不能多次使用相同的ID。 这是div标签
它使用元素的类名作为选择器,以`.`开头,例如,`.myClass`选择所有具有`class="myClass"`属性的元素。
查找标签,差异化设置标签的显示效果。步骤:
定义类选择器->.类名
使用类选择器>标签添加 class="类名"
.
)开头,然后跟着类名来定义类选择器。例如:.red
和 .size
。<style>
/*定义类选择器*/
.red{
color: red;
}
.size{
font-size: 70px;
}
style>
应用类选择器: 在HTML中,通过添加 多个类名: 一个标签可以同时应用多个类选择器(即:不允许加入多个class),但可以多个属性值,只需在 这些是最基本的选择器,您可以使用它们来选择和样式化HTML元素。CSS还提供了许多其他选择器,以便更精确地选择和控制元素。 主要区别在于选择的范围。后代选择器选择更广泛的元素范围,包括嵌套在更深层次的元素,而子代选择器只选择直接嵌套在指定父元素内部的子元素。 子代选择器(Child Selector),在CSS中用 > 符号表示,是一种CSS选择器,用于选择某个元素的直接子元素。 并集选择器用于选择满足其中任何一个条件的元素,而交集选择器用于选择同时满足多个条件的元素。 在这个示例中,只有第一个 伪类选择器(Pseudo-class Selector)是CSS中的一种选择器,用于选择具有特定状态或特征的HTML元素,而不是仅仅基于它们的名称、类或ID。伪类选择器以冒号 这些伪类选择器使你能够根据元素的状态或位置来选择和样式化它们,增强了CSS的强大功能,以实现更丰富的样式效果和交互体验。 选择器–作用 提示:如果要给超链接设置以上四个状态,需要按LVHA的顺序书写 选择目标: 伪类选择器:用于选择具有特定状态或特征的HTML元素,例如 伪元素选择器:用于在选定元素的内容之前或之后创建虚拟元素,并对这些虚拟元素应用样式。例如 语法: 伪类选择器:以单冒号 伪元素选择器:以双冒号 作用方式: 伪类选择器:选择现有的HTML元素并根据它们的状态或特征应用样式,但不会创建新的元素。 伪元素选择器:创建虚拟元素,并将其插入到选定元素的内容之前或之后,然后对这些虚拟元素应用样式,以实现装饰或效果的目的。 示例: 伪类选择器示例: 这个规则选择了所有悬停状态下的链接并将它们的颜色设置为蓝色。 伪元素选择器示例: 这个规则在每个段落的内容之前插入一个虚拟元素,带有加粗的文本 “注:”。 总之,伪类选择器用于选择和样式化现有元素的特定状态或特征,而伪元素选择器用于创建虚拟元素并在其上应用样式以添加额外的装饰性内容。它们在CSS中有不同的作用和语法。 结构伪类选择器是CSS中用于根据元素在其父元素中的结构关系来选择元素的一种方式。以下是一些常见的结构伪类选择器及其说明: :first-child:选择某元素的第一个子元素。 这个规则会选择每个 :last-child:选择某元素的最后一个子元素。 这个规则会选择每个 :nth-child(N):选择某元素的第 N 个子元素,其中 N 是一个整数。 偶数标签:2n 这个规则会选择其父元素中的第二个 这些结构伪类选择器允许你以根据元素在其父元素中的位置来选择和样式化元素,从而实现更具体的效果。 伪元素选择器是CSS中的一种用于创建虚拟元素(伪元素)并在其上应用样式的方式。它们通常用于在元素的内容之前或之后插入装饰性的内容或样式。常见的伪元素选择器包括 以下是一些关于伪元素选择器的重要信息: ::before 伪元素:在选定元素的内容之前插入虚拟元素。 这个规则会在每个 ::after 伪元素:在选定元素的内容之后插入虚拟元素。 这个规则会在每个 注意事项: 伪元素选择器允许你在不修改HTML结构的情况下,通过CSS添加额外的装饰性内容,从而增强页面的视觉效果。 选择与指定元素在同一层级且紧跟在其后的元素。例如,选择所有 class
属性并指定类名,可以将类选择器应用于一个或多个标签。例如:。
class
属性中用空格分隔不同的类名,每个类名都会为该标签提供相应的样式。<div class="red">这是div标签div>
<p class="red size">这是p标签p>
-
连接,使用有意义的类名,这将使得CSS代码更易于维护和理解。复合选择器
复合选择器是CSS中的一种选择器,它由两个或多个简单选择器通过不同的方式组合而成,用于更准确、更高效地选中HTML元素。
【 1 】后代选择器和子代选择器的区别
< 1 >后代选择器:某元素的后代元素。
写法: 父选择器 子选择器{CSS属性},父子选择器之间用空格隔开。
后代选择器(Descendant Selector)是一种CSS选择器,它用于选择指定元素的所有后代元素,无论后代元素位于多深的嵌套层次中。后代选择器使用空格分隔多个简单选择器。<div>
<p>这是一个后代选择器示例。p>
<div>
<p>这也是被选择的后代元素。p>
div>
div>
ancestor descendant
。div p
选择了所有在 元素,不论它们的层级如何。
<style>
div span{
color: green;
}
//选择特定的一个后代
.container p {
color: bisque;
}
style>
<span>span标签span>
<style>style>
<div>
<span>文字是绿色的span>
<br>
<p>
<span>asfddspan>
p>
<span>asspan>
div>
<br>
<div class="container">
<p>This is a paragraph inside a container.p>
div>
< 2 >子代选择器
<ul>
<li>直接子元素 1li>
<li>直接子元素 2li>
ul>
>
符号分隔父元素和子元素的选择器,例如 parent > child
。ul > li
选择了所有直接嵌套在
元素内部的 元素,不会选择嵌套在
内部的其他元素。
<style>
div > span{
color: aqua;
}
style>
<div>
<span>div的子span标签span>
<p>
<span>孙子span标签span>
p>
div>
【 2 】并集选择器和交集选择器的区别
1. 并集选择器(Union Selector):
并集选择器选中多组标签设置相同的样式
选择器1,选择器2,...,选择器N{CSS 属性},选择器之间用,隔开选择器写法、
建议L:每多一个选择器和一个逗号就一个换行)
,
分隔多个选择器,它会选择匹配任何一个选择器的元素。selector1, selector2
<style>
/* (建议,每多一个选择器和一个逗号就一个换行)
*/
div,
p,
span{
color: lightskyblue;
}
style>
<div>div标签div>
<p>p标签p>
<span>span标签span>
//嵌套也可
<div>
<span>
<p>asdsp>
span>
div>
<br>
2. 交集选择器(Intersection Selector):
selector1.selector2
.class1.class2
选择了同时具有 class1
和 class2
类的元素。<div class="class1 class2">这是一个具有两个类的元素div>
<p class="class1">这是一个只有一个类的段落p>
<style>
/* 既又的关系:既是 p 标签,又是有 box 类 */
p.box{
color: violet;
}
style>
<p class="box">p标签 。使用了类选择器p>
<p>p标签p>
<div class="box">div标签 。使用了类选择器div>
<br>
【 3 】伪类选择器
伪类选择器:伪类表示元素状态,选中元素的某个状态设置样式。
:
开头,通常用于为元素的特定状态或行为应用样式。
a:hover {
color: red;
}
//用户鼠标方式的时候
//鼠标悬停状态:选择器: hover:{ CSS 属性 }
<style>
a:hover{
color: darkmagenta;
}
.box:hover {
color: aquamarine;
}
style>
<a href="#">a标签a>
<div class="box">div标签div>
button:active {
background-color: green;
}
input:focus {
border-color: blue;
}
li:nth-child(odd) {
background-color: #f0f0f0;
}
p:not(.special) {
font-style: italic;
}
ul > li:first-child {
font-weight: bold;
}
ul > li:last-child {
font-style: italic;
}
超链接一共有四个状态
:link–访问前
:visited–访问后
:hover–鼠标悬停
:active–点击时(激活)
<style>
/* 工作中,一个 a 标签选择器设置超链接的样式.hover状态特殊设置 */
/* a:link{
color: red;
}
a:visited{
color: green;
}
a:hover{
color: blue;
}
a:active{
color: yellow;
} */
即:
a{
color: aqua;
}
a:hover{
color: gold;
}
style>
<a href="#">a标签,测试伪装a>
伪类选择器和伪元素选择器是两种不同的CSS选择器,它们有以下区别:
:hover
选择悬停状态的元素或 :nth-child(odd)
选择奇数位置的元素。::before
在元素内容前插入虚拟元素,或 ::after
在元素内容后插入虚拟元素。
:
开头,后跟伪类名称,例如 :hover
。::
开头,后跟伪元素名称,例如 ::before
。
a:hover {
color: blue;
}
p::before {
content: "注:";
font-weight: bold;
}
< 1 >结构伪类选择器
li:first-child {
background-color: green;
}
元素,但只有当它们是其父元素的第一个子元素时,背景颜色才会变为绿色。
li:last-child {
font-weight: bold;
}
元素,但只有当它们是其父元素的最后一个子元素时,文本字体加粗。
奇数标签:2n+1,2n-12
5的倍数:5n
第五个以后的 n+5
第五个以前的 -n+5li:nth-child(2) {
text-decoration: underline;
}
元素,并给它添加下划线。
< 2 >伪元素选择器
::before
和 ::after
。
p::before {
content: "前缀 ";
font-weight: bold;
}
元素的内容之前插入带有加粗文本的前缀。
button::after {
content: " (点击我)";
color: blue;
}
元素的内容之后插入蓝色文本,用于提示用户点击按钮。
content
属性来定义伪元素的内容。如果没有内容,可以将其设置为空字符串。相邻兄弟选择器(Adjacent Sibling Selector):
h2
元素后面的紧邻的 p
元素:h2 + p {
/* CSS规则 */
}