HTML+CSS教程(四)选择器(id选择器,类选择器,标签选择器,子代选择器,后代选择器,组选择器,伪类选择器)/css引入页面的形式(行内样式、内嵌样式、外联样式)

时间:2022-05-24 01:20:13

一.回顾内容

前端的三大组成(三大模块)
    HTMl(超文本标记语言) 结构层
    css(层叠样式表) 表现层:用来美化HTML结构
    JS(Java script)(脚本语言) 行为层:提供用户和界面的交互

二.CSS(层叠样式表)

1. CSS的概念及其介绍
CSS 指层叠样式表 (Cascading Style Sheets)
作用:美化HTML结构,重点:css可以很好的将结构内容和表现进行分离.
2. css的三种表现形式(引入方法)
css的语法结构:选择器{属性:值;属性:值;…}
选择器:选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性每个属性有一 个 或多个值.顾名思义就是用来筛选元素的一种方式.
(1)行内样式(内联样式):通过style属性将样式写入标签中.
例:

<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
//border-style:solid;设置边框样式为实线// //margin:"auto";设置水平居中//
<div style="width: 200px;height: 200px; border-color: red; border-style: solid; border-width: 5px; margin: auto;"></div>
<div style="width: 1000px; height: 100px; background: red; border-color: green; border-width: 5px; border-style: solid;"></div>
<br />
<div style="width: 200px; height: 200px; border: 1px solid darkgoldenrod;"></div>
<div style="width: 200px; height: 200px; border: 1px solid darkgoldenrod;"></div>
<p style="background: yellow;">我比你帅</p>
</body>
</html>

(2)内嵌样式:通过style标签将样式写入head标签中.
例:

<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body{
background: url(img/r14.jpg);//插入背景图片//
background-size: 100%,100%;//body要加逗号//
}
a{
text-decoration: none;font-family: 阿美简体;font-weight: 900;font-size: 54px;color: red;
}
p{
width: 200px; height: 50px; background: red;text-align: center;line-height: 50px;
}
div{
width: 400px; height: 200px; border: red solid 2px;
background: url(img/img01.jpg);
background-size: 100% 100%;
}
</style>
</head>
<body>
<a href="#">我的超链接</a>
<p>我爱学习,学习使我快乐</p>
<div></div>
</body>
</html>

(3)外联样式(外部样式):通过link标签引入外部css文件夹中的xxx.css文件到head标签中.
div: 没有具体的含义(主要用来页面的布局中,替代了原始的table和框架布局).
块元素:所谓的块元素会占据一行显示称之为块元素,即便把宽高缩小也会占据一行显示.
3. CSS 文本设置
常用的应用文本的 css 样式:
color 设置文字的颜色,如: color:red;
font-size 设置文字的大小,如:font-size:12px;
font-family 设置文字的字体,如:font-family:‘微软雅黑’;
font-style 设置字体是否倾斜,如:font-style:‘normal’; 设置不倾斜, font-style:‘italic’;设置文字倾斜
font-weight 设置文字是否加粗, 如: font-weight:bold; 设 置 加 粗 font-weight:normal 设置不加粗
font 同时设置文字的几个属性,写的顺序有兼容问题,建议按照如下顺序写:
font:是否加粗字号/行高 字体;如: font:normal 12px/36px ‘微软雅黑’;
line-height 设置文字的行高,如:line-height:24px; (文本的垂直居中)
text-decoration 设置文字的下划线,如:text-decoration:none; 将文字下划线去掉 (overline上划线,underline下划线)
text-indent 设置文字首行缩进,如:text-indent:24px; 设置文字首行缩进 24px
text-align 设置文字水平对齐方式,如 text-align:center 设置文字水平居中
border-collapse: collapse;设置表格边框合并
4.css颜色的三种表现形式
(1).直接写颜色的名称
background:red;
(2).使用RGB三原色设置
background:rgb(76,50,0);
background:rgba(76,50,0,0.8);//a不透明度//
(3).使用16进制的方式表示颜色(最常用的一种)
background:#ff0000
5.css的选择器
(1).标签选择器
(2).ID选择器
通过 id 名来选择元素,元素的 id 名称不能重复,所以一个样式设置项只能 对应于页面上一个元素,不能复用,id 名一般给程序使用,所以不推荐使用 id选择器.
(3).类选择器(class)
.class的值{属性:属性值}
例:

<style type="text/css">
//标签选择器//
table{
border: 5px solid black;
width: 300px;
height: 200px;
margin:100px auto; //设置表格的水平居中// //距离顶端100px 然后水平居中//
border-collapse: collapse; //设置表格的边框合并//
background: url(images/bg3.jpg);
background-size: 100% 100%;
}
td{
border: 2px dashed green;
color: red;
font-family: 宋体;
font-size: 24px;
}
//id选择器//
#inp1{
background: pink;
border: 5px solid black;
width: 150px;
height: 20px;
}
#inp2{
background: white;
border: 5px solid black;
width: 150px;
height: 20px;
}
#ipn3{
background: goldenrod;
border: 5px solid black;
width: 150px;
height: 30px;
font-family: 阿美简体;
font-size: 15px;
color: white;
}
label{
text-align: right;
/*border: 1px solid green;*/
}
//类选择器//
.td1{
text-align: right;
}
</style>
<body>
<form method="get">
<table>
<tr>
<td class="td1">
<label>姓名:</label>
</td>
<td>
<input id="inp1" type="text" placeholder="请输入用户名" />
</td>
</tr>
<tr>
<td class="td1">
<label>密码:</label>
</td>
<td>
<input id="inp2" type="password" placeholder="请输入密码" />
</td>
</tr>
<tr>
<td></td>
<td>
<input id="ipn3" type="button" value="点击登录" />
</td>
</tr>
</table>
</form>
</body>

层级选择器
主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元 素 结合使用,减少命名,同时也可以通过层级,防止命名冲突。
(4)子代选择器:父级元素1>子集元素2
(5)后代选择器:父级元素 后代元素 后代元素
例:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
//子代选择器//
#ul_01>li{
background: red;
}
#ul_01>li>ul{
background: yellow;
}
#ul_01>li>ul>li{
background: pink;
}
//后代选择器//
#ul_01 a{
text-decoration: none;
}
#ul_01 li{
list-style: none;//去掉无序列表的点//
} #ul_01 li ul li{
background: greenyellow;
}
#ul_01>li ul a{
color: red;
}
</style>
</head>
<body>
<ul id="ul_01">
<li><a href="#">首页</a></li>
<li><a href="#">数码产品</a></li>
<li><a href="#">家用电器</a></li>
<p><a href="#">学的不仅是技术</a></p>
<li>
<a href="#">其他类型</a>
<ul>
<li><a href="#">童装</a></li>
<li><a href="#">男装</a></li>
<li><a href="#">女装</a></li>
<li><a href="#">时尚装</a></li>
</ul>
</li>
</ul>
</body>
</html>

(6)组选择器
多个选择器,如果有同样的样式设置,可以使用组选择器。
例:

.box1,.box2,.box3{width:100px;height:100px}
.box1{background:red}
.box2{background:pink}
.box2{background:gold} <div class="box1">.........</div>
<div class="box2">.........</div>
<div class="box3">.........</div>

(7)伪类及伪元素选择器
常用的伪类选择器有 hover,表示鼠标悬浮在元素上时的状态,伪元素选择器有 before 和 after,它们可以通过样式在元素中插入内容
例:

.box1:hover{color:red}
.box2:before{content:'行首文字';}
.box3:after{content:'行尾文字';} <div class="box1">.........</div>
<div class="box2">.........</div>
<div class="box3">.........</div>