着重阅读,也可以理解为加粗效果
<p>
这是一个<strong>测试页面strong>
p>
例子
<h3>用户名h3>
<h3>密 码h3>
标签、类、id选择非常常用,前边的文档写过了,不在记录了
子标签 子子标签 子子子标签都是后代选择器
ul li {
color:red
}
子代选择器只选择 下边1层
ul > li {
color:red
}
更多写法
.box > li {}
.box > li > li {}
#box > li {}
p.box > li {} #是p标签并且类选择是box的子代是li的
当前元素div下边的相邻的 p元素。只是下边1个。 上边的不包括
div + p {}
~ 代表下边的所有
div ~ * {} div下边的所有标签
div ~ p {} div下边的所有p标签
DOCTYPE html>
<html lang="en">
<head>
<style>
/* 属性选择器 */
[title] {color: gold}
[href] { color:red}
style>
head>
<body>
<p>
<div title="哈哈哈">你好div>
<a href="www.baidu.com">百度一下a>
p>
body>
html>
text-align :center 文本水平居中
div {
background-color: green;
text-align: center;
}
如果要垂直居中 让div height=line-height
div {
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
background-color: green;
}
取消列表的默认前边序号
ul,ol {
list-style-type:none;
}
div {
width: 100px;
height: 100px;
background-color: green;
/* 鼠标移动到盒子的时候会变成小手 */
cursor: pointer;
}
display属性
dispaly: none 还可以隐藏元素
div {
width: 100px;
height: 100px;
background-color: red;
/* 块元素变成 行内块元素 */
display: inline-block;
}
元素之间的空白缝隙会出现在 行内元素和 行内块元素之间 ,块元素不会出现。
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.d1 {
background-color: red;
}
.d2 {
background-color: green;
}
.d3 {
background-color: yellow;
}
style>
head>
<body>
<span class="d1">新闻span><span class="d2">运动span><span class="d3">音乐span>
<span class="d1">新闻span>
<span class="d2">运动span>
<span class="d3">音乐span>
body>
html>
解决办法:
在html中 空格也是一个字符,利用front-sze:0 所有的文字都会消失的特性,在父标签中 将所有字体设置为0,这时候空格也就没有了,在将要显示的文字设置指定的大小,这样就可以去除空格了。
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.box {
font-size: 0;
}
.box span {
font-size: 16px;
}
.d1 {
background-color: red;
}
.d2 {
background-color: green;
}
.d3 {
background-color: yellow;
}
style>
head>
<body>
<div class="box">
<span class="d1">新闻span>
<span class="d2">运动span>
<span class="d3">音乐span>
div>
body>
html>
行内块元素之间的缝隙
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
body {
margin: 0px;
margin: 0px;
}
.box {
font-size: 0;
list-style-type: none;
padding: 0px;
}
.box li {
font-size: 16px;
display: inline-block;
}
.d1 {
background-color: red;
}
.d2 {
background-color: green;
}
.d3 {
background-color: yellow;
}
style>
head>
<body>
<ul class="box">
<li class="d1">地图li>
<li class="d2">新闻li>
<li class="d3">运行li>
ul>
body>
html>
box-sizing: 它有两个值
content-box 默认属性 会随着边框、内边距的增加整体盒子会变大
border-box 盒子定义的多大就是多大,不会因为边框 内边距的增加而盒子变大。
border-radius 显示圆角效果
.box {
width: 200px;
height: 200px;
padding: 5px;
border: 5px green solid;
border-radius: 50px;
}
display: flex
父标签称为: 伸缩容器
子标签称为: 伸缩项目
一个标签一旦称为伸缩项目 不论它是行级元素还是块元素 全部会变成块元素,也就是说可以使用宽高属性。
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.box {
width: 600px;
height: 600px;
background-color: skyblue;
/* 父标签变成了伸缩容器 */
display: flex;
}
/*行级元素 span 变成了伸缩项目 就可以使用宽高了*/
span {
height: 100px;
width: 100px;
background-color: red;
border: 1px black solid;
}
style>
head>
<body>
<div class="box">
<span>1span>
<span>2span>
<span>3span>
div>
body>
html>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.box {
width: 600px;
height: 600px;
background-color: skyblue;
display: flex;
/*主轴换行,当伸缩项目的个数超出伸缩容器一行内容容纳的个数时,自动换行,而不是压缩伸缩项目的盒子大小*/
flex-wrap: wrap;
}
span {
height: 200px;
width: 200px;
background-color: red;
border: 1px black solid;
box-sizing: border-box;
}
style>
head>
<body>
<div class="box">
<span>1span>
<span>2span>
<span>3span>
<span>1span>
<span>2span>
<span>3span>
div>
body>
html>
justify-content:
space-around 伸缩项目均匀的分布在一行,项目之间的距离是边缘距离的两倍
space-between: 伸缩项目边缘没有距离,项目之间的距离是相等的. 这种用的比较多
space-evenly: 伸缩项目完全均匀的分布在一行
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.box {
width: 600px;
height: 600px;
background-color: skyblue;
display: flex;
/*水平居中*/
justify-content: center;
/*垂直居中*/
align-items: center;
}
span {
height: 100px;
width: 100px;
background-color: red;
}
style>
head>
<body>
<div class="box">
<span>1span>
div>
body>
html>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.box {
width: 600px;
height: 600px;
background-color: skyblue;
display: flex;
}
span {
height: 100px;
width: 100px;
background-color: red;
/*伸缩项目 margin自动,也可以居中*/
margin: auto;
}
style>
head>
<body>
<div class="box">
<span>1span>
<span>1span>
<span>1span>
div>
body>
html>
这里实现了一个盒子在屏幕中间居中的效果。
tranform在做位移时,如果使用百分比位移,这个百分比是自己宽度的百分比
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.outer {
width: 500px;
height: 300px;
background-color: #ddd;
border-radius: 5px;
position: absolute;
left: 50%;
top: 50%;
/*基于绝对定位后的位置 在x轴上向左50%,在y轴上向上50%*/
transform: translate(-50%,-50%);
}
style>
head>
<body>
<div class="outer">
div>
body>
html>