目录
- 1012 CSS的属性相关和模态框
- 1、宽和高
- 2、字体属性
- 2.1 文字字体:font-family
- 2.2 字体大小:font-size
- 2.3 字重(粗细):font-weight
- 2.4 字体颜色:color
- 3、文字属性
- 4、背景属性
- 5、边框:border
- 6、display属性
- 7、盒子模型
- 7.1 盒子模型之 margin
- 7.2 盒子模型之 padding
- 8、float 浮动属性
- 9、overflow 溢出属性
- 10、position 定位属性
- 10.1 relative(相对定位)
- 10.2 absolute(绝对定位)
- 10.3 fixed(固定定位)
- 10.4 定位是否脱离文档流
- 11、z-index 属性、opacity属性和模态框
1012 CSS的属性相关和模态框
1、宽和高
width属性可以为元素设置宽度。
height属性可以为元素设置高度。
块级标签才能设置宽度,内联标签的宽度由内容来决定。
2、字体属性
2.1 文字字体:font-family
font-family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可识别的第一个值。
eg:
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body { font-family: "Microsoft Yahei", "微软雅黑", "Arial", sans-serif }
</style>
</head>
<body>
<span>我是span</span>
</body>
2.2 字体大小:font-size
eg:
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
span{
font-size: 23px;
}
</style>
</head>
<body>
<span>我是span</span>
</body>
如果设置成inherit表示继承父元素的字体大小值。
2.3 字重(粗细):font-weight
字重的值:
值 | 描述 |
---|---|
normal | 标准粗细 |
bold | 粗体 |
bolder | 更粗 |
lighter | 更细 |
100~900 | 设置具体粗细,400等同于normal,而700等同于bold |
inherit | 继承父元素字体的粗细值,默认值, |
eg:
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
span{
font-weight: normal;
}
</style>
</head>
<body>
<span>我是span</span>
</body>
2.4 字体颜色:color
eg:下面代码都是设置字体颜色为红色
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
span{
/*十六进制值 - 如color: #FF0000*/
color: #FF0000;
/*一个rgb值 - 如color: rgb(255,0,0)*/
color: rgb(255,0,0);
/*颜色的名称 - 如color: red*/
color: red;
/*color:rgba(255,0,0,0.3),第四个值为alpha, 指定了色彩的透明度/不透明度,它的范围为0.0到1.0之间*/
color: rgba(255,0,0,0.3);
}
</style>
</head>
<body>
<span>我是span</span>
</body>
3、文字属性
就不一一叙述了,直接用代码展示,具体属性都写在代码里
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/* 1、文字对齐方式:text-align属性规定水平对齐方式
left 左边对齐 默认值
right 右对齐
center 居中对齐
justify 两端对齐
*/
div{
width: 100px;
background-color: yellow;
text-align: center;
}
/* 2、文字装饰方式:text-decoration属性来给文字添加特殊效果
none 默认。定义标准的文本。
underline 定义文本下的一条线。
overline 定义文本上的一条线。
line-through 定义穿过文本下的一条线。
inherit 继承父元素的text-decoration属性的值。
*/
div{
width: 100px;
background-color: yellow;
text-align: center;
text-decoration: underline;
}
/* 3、去除列表标题前的符号样式:list-style属性*/
li{
list-style: none;
}
/* 4、首行缩进:text-indent属性来将段落的第一行缩进*/
p{text-indent: 32px}
/* 5、文字之间的距离: letter-spacing属性*/
span{letter-spacing: 5px}
/* 6、行高:line-height属性*/
div{
width: 400px;
height: 200px;
text-align: center;
line-height: 200px;
/*行高跟div高度一样就变成垂直居中*/
}
</style>
</head>
<body>
<div>我是文字</div>
<a></a>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<p>阳光明媚的一天</p>
<span>今天心情格外好</span>
</body>
</html>
4、背景属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 1070px;
height: 300px;
color: yellow;
/* 1、背景颜色:backgronud-color属性*/
background-color: black;
/* 2、背景图片:background-image: url("图片名")*/
background-image:url("猴.jpg");
/* 3、图片平铺方式:background-repeat属性
repeat(默认):背景图片平铺排满整个网页
repeat-x:背景图片只在水平方向上平铺
repeat-y:背景图片只在垂直方向上平铺
no-repeat:背景图片不平铺
*/
background-repeat: repeat-x;
/* 4、背景位置:background-position属性
background-position: left top; 图片放在左边最上方
background-position: 200px 200px; 只能控制左和上
*/
background-position: left top;
}
</style>
</head>
<body>
<div>齐天大圣</div>
</body>
</html>
5、边框:border
边框属性
- border-width
- border-style
- border-color
i1 { border-width: 2px; border-style: solid; border-color: red; }
通常使用简写方式:
i1 { border: 2px solid red; }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*边框样式
none 无边框。
dotted 点状虚线边框。
dashed 矩形虚线边框。
solid 实线边框。
*/
div{
height: 100px;
width: 100px;
/* 颜色 边框实线 粗细*/
border: green solid 3px;
/*圆角边框:border-radius属性,设置50%就是圆形*/
border-radius: 10px;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
6、display属性
display属性用于控制HTML元素的显示效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
/*none:设置消失,HTML文档中元素存在,但是在浏览器中不显示*/
/*display: none;*/
/*inline:将块级标签变为行内标签*/
display: inline;
}
span{
/*block:将行内标签变为块级标签*/
display: block;
}
.a{
width: 100px;
height: 100px;
background-color: red;
/*inline-block:使元素同时具有行内元素和块级元素的特点。*/
display: inline-block;
}
</style>
</head>
<body>
<div>齐天大圣</div>
<span>六耳猕猴</span>
<span class="a">通臂猿猴</span>
<div>泼猴</div>
</body>
</html>
display:"none"与visibility:hidden的区别:
visibility:hidden: 可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
display:none: 可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。
7、盒子模型
- margin(外边距): 用于控制元素与元素之间的距离;margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。
- padding(内填充): 用于控制内容与边框之间的距离;
- Border(边框): 围绕在内边距和内容外的边框。
- Content(内容): 盒子的内容,显示文本和图像。
7.1 盒子模型之 margin
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.a{
width: 400px;
height: 400px;
border: black 1px solid;
/* 设置边框下面的距离*/
margin-bottom: 20px;
margin-left: 40px;
/*推荐使用简写,按照顺时针一起设置:上,右,下,左*/
/*margin:30,0,20,40;*/
/*常见居中*/
/*margin: 0 auto;*/
}
.b{
width: 300px;
height: 300px;
border: red 1px solid;
}
</style>
</head>
<body>
<div class="a">123</div>
<div class="b">456</div>
</body>
</html>
7.2 盒子模型之 padding
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 400px;
height: 400px;
border: pink solid 2px;
/*元素内容123距离左边框30像素*/
padding-left: 30px;
/*元素内容123距离上边框100像素*/
padding-top: 100px;
}
</style>
</head>
<body>
<div>123</div>
</body>
</html>
推荐使用简写:
div{ padding: 5px 10px 15px 20px;}
补充padding的常用简写方式:
- 提供一个值,用于四边;
- 提供两个值,第一个用于上-下,第二个用于左-右;
- 如果提供三个值,第一个用于上,第二个用于左-右,第三个用于下;
- 提供四个参数值,将按上-右-下-左的顺序作用于四边;
8、float 浮动属性
在 CSS 中,任何元素都可以浮动。
浮动元素会生成一个块级框,而不论它本身是何种元素。
关于浮动的两个特点:
- 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
- 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/* float属性值:
left:向左浮动
right:向右浮动
none:默认值,不浮动*/
.a,.b,.c{
width: 500px;
height: 200px;
}
.a{
background-color: red;
float: left;
}
.b{
background-color: pink;
float: right;
}
.c{
background-color: yellow;
float: right;
}
.p{
border: yellow 2px dotted;
}
/*清除浮动,解决塌陷问题*/
.clear:after{
content: "";
display: block;
/*clear属性规定元素的哪一侧不允许其他浮动元素,只会对自身起作用,而不会影响其他元素.
left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
*/
clear: both;
}
</style>
</head>
<body>
<div class="p clear">
<div class="a">123</div>
<div class="b"></div>
<div class="c"></div>
</div>
</body>
</html>
9、overflow 溢出属性
属性值:
值 | 描述 |
---|---|
visible | 默认值。内容不会被修剪,会呈现在元素框之外。 |
hidden | 内容会被修剪,并且其余内容是不可见的。 |
scroll | 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。 |
auto | 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。 |
inherit | 规定应该从父元素继承 overflow 属性的值。 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 200px;
height: 200px;
border: yellow solid 3px;
overflow: hidden;
}
img{
/*图片本身超出了div边框的宽高,下面的设置就是把图片宽高缩小到200px,
使其能够完整显示,不然上面的溢出属性是hidden,会把超出div边框的图片剪掉*/
max-width: 200px;
min-height: 200px;
}
</style>
</head>
<body>
<div>
<img src="猴.jpg" alt="">
</div>
</body>
</html>
10、position 定位属性
属性值:relative(相对定位)、absolute(绝对定位)、fixed(固定定位)
10.1 relative(相对定位)
相对定位是相对于该元素在文档流中的原始位置,即以自己原始位置为参照物。有趣的是,即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置,即占据文档流空间。对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。
注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。eg:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
padding: 0;
}
div{
width: 200px;
height: 200px;
background-color: yellow;
position: relative;
/*相对原始位置,距离上边20px,距离左边40px移动*/
top: 20px;
left: 40px;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
10.2 absolute(绝对定位)
定义:设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
重点:如果父级设置了position属性,例如position:relative;,那么子元素就会以父级的左上角为原始点进行定位。这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那我子元素就设置position:absolute;父元素设置position:relative;,然后Top、Right、Bottom、Left用百分比宽度表示。
另外,对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。
eg:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;}
.a{
width: 400px;
height: 400px;
background-color: black;
float: left;
}
.b{
width: 400px;
height: 400px;
background-color: pink;
position: relative;
float: right;
}
.c{
width: 200px;
height: 200px;
background-color: yellow;
position: absolute;
/*相对父级b来移动,top值为400px,就是距离b最上边400px,也就是变为了紧挨着b的最下边,
原来所占的空间会关闭掉*/
top: 400px;
left: 30px;
}
</style>
</head>
<body>
<div class="a"></div>
<div class="b">
<div class="c"></div>
</div>
</body>
</html>
10.3 fixed(固定定位)
fixed:对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性 定义。
注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流”。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。
在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。
eg:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.a{
height: 1800px;
background-color: purple;
}
.b{
width: 50px;
height: 50px;
background-color: green;
position: fixed;
bottom: 100px;
right: 100px;
}
</style>
</head>
<body>
<div class="a">
<div class="b">固定定位</div>
</div>
</body>
</html>
10.4 定位是否脱离文档流
脱离文档流:绝对定位、固定定位
不脱离文档流:相对定位
11、z-index 属性、opacity属性和模态框
1、z-index属性用来设置对象的层叠顺序
div{ z-index: 999; }
- z-index 值表示谁压着谁,数值大的压盖住数值小的,
- 只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
- z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
- 从父现象:父亲怂了,儿子再牛逼也没用。
2、opacity属性用来定义透明效果
取值范围值0.0~1.0,0是完全透明,1是完全不透明。与color:rgba(255,0,0,0.3)
的第四个值一样作用
模态框eg:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>模态框</title>
<style>
.down{
position: fixed;
/*opacity: 0.7;*/
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(255,192,203,0.7);
z-index: 180;
}
.up{
position: fixed;
width: 200px;
height: 200px;
background-color: blue;
z-index: 188;
/*下面三行代码就可以让up元素压盖在down元素正中间*/
top: 50%;
left: 50%;
margin: -100px 0 0 -100px;
}
</style>
</head>
<body>
<div class="down">Java</div>
<div class="up">Python</div>
</body>
</html>
原文地址:https://www.cnblogs.com/zhuangyl23/p/11663624.html