? ?CSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述HTML文档外观样式的标记语言。通过CSS,开发者可以在不改变HTML标记结构的情况下,改变网页的样式和布局。
分离样式和内容:CSS将网页的样式和内容分离,使得网页的维护更加方便。通过修改CSS文件,可以对整个网站的样式进行统一的调整,而不需要逐个修改每个网页的样式。
可维护性高:由于样式集中在CSS文件中,可以通过修改一个样式来改变整个网页的样式,便于网站的维护和更新。
可重用性高:CSS样式可以在多个页面之间共享和重用,可以减少代码冗余,提高开发效率。
提高网站性能:CSS样式可以通过合并和压缩来减少文件大小,从而提高网站的加载速度。
设计灵活性强:CSS提供了丰富的样式选择器和属性,可以灵活地设计各种样式效果,实现丰富多样的网页布局和交互效果。
跨平台兼容性好:CSS在各个浏览器和设备上都有广泛的支持,可以兼容不同的浏览器和操作系统,确保网站在不同平台上显示一致。
CSS中的选择器用于选择HTML文档中的元素,并为这些元素应用样式。选择器可以根据元素的类型、类名、ID等属性来选择元素。?
?它通过在HTML标签的style属性中指定CSS代码来实现样式的应用。
<body>
<h1 style="color: red;">我是中国人</h1>
</body>
?CSS内部样式表是一种将样式信息直接嵌入到HTML文档中的方法,可以使用
<style>
标签通过选择器来选择要应用样式的元素,并通过CSS属性来定义样式。
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
h1{
color: red;
}
</style>
</head>
<body>
<h1>我是中国人</h1>
</body>
?CSS外部样式表是一种用来定义网页外观和排版的文件。它是一种独立于HTML文档的样式表,可以通过在HTML文件中引用外部样式表来控制整个网站的样式。
首先创建一个CSS
h1{
color: red;
}
?在html文件中引用创建的CSS文件。
在CSS中,通过使用标签选择器,可以选择所有具有相同标签名称的元素并对其应用样式。
p {
/* 样式规则 */
}
?上述代码表示将样式规则应用于所有的<p>标签。
类选择器用于选择具有相同类名的元素,以便对它们应用相同的样式
.cla1{规则}
?上述代码意味着会将当前.cla1中的规则应用于所有包含class="cla1"的标签。
<style>
.my-class {
color: red;
}
</style>
</head>
<body>
<h1 class="my-class">这是一个标题</h1>
<p class="my-class">这是一个段落。</p>
</body>
在HTML中,ID选择器用于选择具有特定ID属性的元素。
?语法:
#myElement {
/* CSS样式 */
}
<div id="myElement">This is a div element with id "myElement"</div>
?上述代码会将ID选择器中定义的CSS样式应用于id="myElement"的标签
?在HTML中,层次选择器用于选择特定元素的子元素、后代元素或兄弟元素。
后代选择器中的所有属于E元素的F元素将执行CSS样式?
?语法:
E F{#css样式;}
?案例:
<style type="text/css">
body p{background-color: aqua;}
</style>
</head>
<body>
<p>1</p>
<p>2</p>
<ul>
<li><p>3</p></li>
<li><p>4</p></li>
</ul>
?所有属于E元素的子元素F将会执行CSS样式
?语法:
E > F{CSS样式}
?案例:
<style type="text/css">
body>p{background-color: aqua;}
</style>
</head>
<body>
<p>1</p>
<p>2</p>
<ul>
<li><p>3</p></li>
<li><p>4</p></li>
</ul>
HTML中的相邻兄弟选择器用于选择某个元素(E)下一个直接相邻兄弟元素(F)。
#E+F{CSS样式}
?案例:
<title></title>
<style>
#p01+p{background-color: aqua;}
</style>
</head>
<body>
<P id="p01">1</P>
<p>2</p>
<ul><li>3</li></ul>
<ul><li>4</li></ul>
在HTML中用于选择某个元素后面所有的兄弟元素。它使用?
~
?符号来表示。
语法:
#E~F{#CSS样式}
案例:
<title></title>
<style>
#p01~p{background-color: aqua;}
</style>
</head>
<body>
<P>1</P>
<p id="p01">2</p>
<p>3</p>
<p>4</p>
<ul><li>3</li></ul>
<ul><li>4</li></ul>
语法 1:
E F:first-child{#CSS样式}
?父元素(E)的第一个子元素(F)将应用CSS样。
案例:
<style type="text/css">
ul li:first-child{background-color: aqua;}
</style>
</head>
<body>
<P>1</P>
<p id="p01">2</p>
<p>3</p>
<p>4</p>
<ul>
<li>3</li>
<li>4</li>
</ul>
</body>
语法 2:
F:first-child{#CSS样式}
若代码中未写入父元素E,则匹配所有包含F元素的标签中的第一个F元素
案例:?
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
ul li:first-child{background-color: aqua;}
</style>
</head>
<body>
<P>1</P>
<p id="p01">2</p>
<p>3</p>
<p>4</p>
<ul>
<li>3</li>
<li>4</li>
</ul>
<ul>
<li>5</li>
<li>6</li>
</ul>
</body>
?
?语法 1:
E F:nth-child(n)
选择父元素E的第n个子元素F
案例:?
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
ul li:nth-child(2){background-color: aqua;}
</style>
</head>
<body>
<P>1</P>
<p id="p01">2</p>
<p>3</p>
<p>4</p>
<ul>
<li>3</li>
<li>4</li>
</ul>
<ul>
<li>5</li>
<li>6</li>
</ul>
</body>
语法 2:?
若父元素E中的第n个元素不是子元素F则不匹配CSS样式
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
ul p:nth-child(2){background-color: aqua;}
</style>
</head>
<body>
<P>1</P>
<p id="p01">2</p>
<p>3</p>
<p>4</p>
<ul>
<li>3</li>
<li>4</li>
</ul>
<ul>
<li>5</li>
<li>6</li>
</ul>
</body>
?
语法:?
?E F:nth-of-type(n){#CSS样式}
选择父元素E的第n个p元素,该选择器会优先匹配元素再匹配n不会出现?E F:nth-cild(?)?选择器中不匹配的情况
案例:
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
ul li:nth-of-type(2){background-color: aqua;}
</style>
</head>
<body>
<P>1</P>
<p id="p01">2</p>
<p>3</p>
<p>4</p>
<ul>
<li>3</li>
<li>4</li>
</ul>
<ul>
<li>5</li>
<li>6</li>
</ul>
</body>
在HTML中,属性选择器用于选择具有指定属性的元素。以下是HTML中常用的属性选择器
?
语法:?
a[指定属性]{#CSS样式}
例如:[type]选择所有具有type属性的元素
例如:[type=text]选择所有type属性的值为"text"的元素
例如:[class~=btn]选择所有class属性值中包含"btn"的元素
例如:[href^=https]选择所有href属性值以"https"开头的元素
例如:[src$=.jpg]选择所有src属性值以".jpg"结尾的元素
例如:[title*=home]选择所有title属性值中包含"home"的元素
?