目录
关于同时设置伪类样式:a:link和a:visited标签,a:link会被覆盖的问题
关于1.16 1.17代码的综合案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body
{
background-color: #f5f5f5;
}
.wenben{
margin:0 auto;
width: 800px;
height: auto;
}
/* 使整个文本盒子居中放置 */
.tupian{
margin:0 auto;
width: 234px;
height: 300px;
background-color: #fff;
text-align: center;
/* 盒子中的内容居中放置 */
}
/* 使整个图片盒子居中放置 */
.blue{
color: #33fff3;
}
.grey{
color:#cccccc
}
.docoration{
text-decoration: none;
}
/* 去除下划线 */
.center{
text-align: center;
}
/* 满足部分文本居中放置 */
.indent{
text-indent: 2em;
}
/* 缩进 */
img{
width:160px ;
margin: 0 auto;
}
.size1{
font-size: 14px;
line-height: 25px;
}
.size2{
font: 12px/30px 微软雅黑;
color: #cccccc;
}
.size3{
font-size: 14px;
color: #ffa500;
}
</style>
</head>
<body>
<div class="wenben">
<h1 class="center">CSS 基础</h1>
<hr>
<p class="center">
<span class="grey">
转载自MDN
</span>
<a href="#" class="docoration">
收藏本文
</a>
</span>
<p class="indent">层叠样式表(Cascading Style Sheet,简称:CSS)是为网页添加样式的代码。本节将介绍 CSS 的基础知识,并解答类似问题:怎样将文本设置为黑色或红色?怎样将内容显示在屏幕的特定位置?怎样用背景图片或颜色来装饰网页?</p>
<p class="indent">和 HTML 类似,CSS 也不是真正的编程语言,甚至不是标记语言。它是一门样式表语言,这也就是说人们可以用它来选择性地为 HTML 元素添加样式</p>
</div>
<div class="tupian">
<img src="./实验案例.png" title="Redmi 12C 案例来自小米商城">
<div class="size1">Redmi 12C</div>
<div class="size2">高性能长续航,5000万像素超清双摄</div>
<div class="size3">699元起</div>
</div>
</body>
</html>
(图片是按照小米官网做的)
选择器
后代选择器
用来选择元素或元素组的后代,把外层标签写在前面,内层标签写在后面,中间用空格分隔
格式:标签1 标签2{属性1:值1 属性值2:值2}
<html>
<head>
<style>
div a {
color: red;
}
</style>
</head>
<body>
<div>
<a href="#">这个链接是红色的</a>
<p>
<a href="#">这个链接也是红色的,这就是子代选择器的作用</a>
</p>
</div>
</body>
</html>
子代选择器
用来选择作为某元素子元素的元素,将父级标签写在前面,子级标签写在后面,用大于号连接
格式:父标签>子标签{属性1:值1 属性值2:值2}
<html>
<head>
<style>
div>a {
color: red;
}
</style>
</head>
<body>
<div>
<a href="#">这个链接是红色的</a>
<p>
<a href="#">这个链接不是红色的,这就是子代选择器与后代选择器的区别</a>
</p>
</div>
</body>
</html>
并集选择器
用来同时设置多种标签,设置相同样式,将选择器之间用,隔开,为了美观,我们经历在每一个并集选择器中的选择器之间换行书写。
格式:选择器1,选择器2{属性1:值1 属性值2:值2}
<html>
<head>
<style>
span,
h1,
h2,
h3,
.red {
color: red;
}
</style>
</head>
<body>
<div>
<span>均为红色标签</span>
<h1>均为红色标签</h1>
<h2>均为红色标签</h2>
<h3>均为红色标签</h3>
<a href="#" class="red">此为红色链接</a>
<br><br>
这就是并集选择器作用
</div>
</body>
</html>
交集选择器
用设置页面中同时免租多个选择器的标签
格式:选择器1选择器2{属性1:值1 属性值2:值2}
注:
交集选择器中的选择器没有间隔
如果交集选择器中含有标签选择器,标签选择器必须写在最前面
<html>
<head>
<style>
p.red{
color: #ff0000;
}
</style>
</head>
<body>
<div>
<p>这段不是红色文字</p>
<h1 class="red">这段也不是红色文字</h1>
<p class="red">这段才是红色文字</p>
</div>
</body>
</html>
伪类选择器
用于向某些选择器添加特殊的效果,在选择器后面加上:,配合其他标签使用
- :link : 未访问的链接,可以为普通或未访问的链接设置样式
- :visited : 已访问的链接,可以为已经访问过的链接设置样式
- :hover :鼠标移动到链接上,可以定义当鼠标经过或悬停在链接上时的样式
- :active : 选定的链接 ,可以定义点击链接时的样式
浏览器默认情况:
- 普通链接:带有下划线的蓝色文本;
- 已访问的链接:带有下划线的紫色文本;
- 点击链接时:带有下划线的红色文本;
- 经过或悬停在链接上时:链接的外观并没有变化,它将保持先前状态的颜色。
<!DOCTYPE html>
<html>
<head>
<style>
a {
text-decoration: none;
}
a:link {
margin-left: 10px;
background: #ccc;
color: black;
}
a:visited {
background: #FFFF99;
color: red;
}
a:hover {
background: #9c6ae1;
color: black;
}
a:active {
background: #000;
color: white;
}
</style>
</head>
<body>
<a href="https://www.baidu.com/" target="_blank">跳转至百度</a>
<br><br>
<a href="https://www.baidu.com/" target="_blank">跳转至百度</a>
<br><br>
<a href="">这是一个链接</a>
<br><br>
<a href="">这也是一个链接</a>
<br><br>
</body>
</html>
第一、两张图片第二个“跳转至百度”是鼠标悬停的位置,是:hover的作用
第三张图片第一个“跳转至百度”是鼠标点击后的样式,是:active的作用
关于同时设置伪类样式:a:link和a:visited标签,a:link会被覆盖的问题
观察上述图片可以发现,我第一张图片跳转百度的颜色是默认灰色的,而第二张图片的默认背景是
黄色的,是因为在第一张图片时我没有进入过百度的链接,所以默认是为访问的链接,是:link属性
值影响,而在第二张时,我已经访问过了百度,所以是:visited属性值影响
观察可知空链接始终是黄色背景,注意:
正确书写链接地址时,a:link有效
未正确书写链接地址时,a:link无效,效果为:visited样式
背景
background-color
设置背景颜色,设置颜色方法有关键字,rgb表示法,bgra表示法,16进制表示法
background-image
设置背景图片,给盒子起到装饰效果
格式:background-image: url(图片的路径) / none;
background-repeat
设置图片平铺方式,给盒子起到装饰效果,设置背景图片时,默认把图片在水平和垂直方向平铺以铺满整个元素。
属性值:
- repeat:水平和垂直方向都平铺(默认值)
- no-repeat:不平铺
- repeat-x:沿着水平方向平铺
- repeat-y:沿着垂直方向平铺
格式:background-repeat : repeat/no-repeat/repeat-x / repeat-y
background-position
设置对象的背景图像位置。但是必须先指定background-image属性。默认值为:(0% 0%)。如果
只指定了一个值,该值将用于横坐标,纵坐标将默认为50%,设置的第二个值将用于纵坐标。
格式:background-position : position position
注:position 后面是x坐标和y坐标,可以使用方位名词或者精确单位
方位名词:
- y轴方向:top center bottom
- x轴方向:left center right
background-attchment
设置背景附着,规定背景固定或者滚动
格式:background-attachment : scroll/fixed
scroll : 背景图像是随对象内容滚动
fixed : 背景图像固定
相关代码以及成效
<!DOCTYPE html>
<html>
<head>
<style>
div.position1 {
width: 192px;
height: 192px;
background-color: aqua;
background-image: url(./图片1.gif);
}
div.position2 {
position: absolute;
top: 300px;
width: 192px;
height: 192px;
background-color: aqua;
background-image: url(./图片1.gif);
background-repeat: repeat-x;
background-position: 0px 50px;
}
</style>
</head>
<body>
<div class="position1"></div>
<div class="position2"></div>
</body>
</html>