CSS属性和盒模型知识总结(03)

3 篇文章 0 订阅

字体样式

字体样式

字体样式

font-family   字体类型  可以显示操作系统上安装的字体

英文的字体 ,只影响英文

中文的字体,即影响中文,又影响英文

设置混合字体时,英文在前,中文在后

*建议不要去设置罕见的字体,读者可能没有这个形式的字体。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>字体样式</title>
		<style>
			p{
				font-family:"楷体";
			}
		</style>
	</head>
	<body>
		<p>hello 你好</p>
	</body>
</html>

,就会显示楷体。

字体大小

font-size 字体大小

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>字体大小</title>
		<style>
			#ha{
				font-size: 50px;
			}
		</style>
	</head>
	<body>
		<p id="ha">你好呀!</p>
		<p id="haha">你好吗?</p>
	</body>
</html>

其运行结果为:

我们可以看到,对id=ha的字体进行调整,他的字体变大了

字体颜色

1.color     英文单词  有限

2.三原色 红绿蓝 rgb

十进制0-255      (0,0,0)是黑        (255,255,255)白

透明度a(0-1)   rgba(0,0,0,0.5)   1完全不透明,0完全透明

十六进制0-FF     #00B==#0000BB

拾色器  取色器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>字体颜色</title>
		<style>
			#first{
				color: red;
			}
			#second{
				color:rgba(50,10,10,0.5);
			}
			#third{
				color:#0000BB;
			}
		</style>
	</head>
	<body>
		<p id="first">你好呀</p>
		<p id="second">你好呀</p>
		<p id="third">你好呀</p>
	</body>
</html>

其运行结果为:

可以发现,所对应的三种颜色都出现了相应的颜色。

#second  中颜色的透明度,当为0时就完全遮盖。

字体粗细

font-weight     字体粗细  normal=400    bold=700     他的范围为:(100-900)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>字体粗细</title>
		<style>
			#first{
				font-weight:bold;
			}
		</style>
	</head>
	<body>
		<p id="first">hello</p>
		<p>hello</p>
	</body>
</html>

其运行结果为:

这样他的字体就加粗了。

字体风格

font-style   字体风格  italic(更常用)斜体              oblique  斜体

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>字体风格</title>
		<style>
			p{
				font-style: italic;
			}
		</style>
	</head>
	<body>
		<p>你好</p>
		<p>你好</p>
		<p>你好</p>
	</body>
</html>

 其运行结果为:

符合属性

符合属性   font:font-style   font-weight   font-size   font-family

文本样式

text-align  水平对齐方式

text-align   

水平对齐方式   设置在块元素上   水平居中center         左边left     右边right

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>水平对齐方式</title>
		<style>
			p{
				text-align: center;
			}
			span{
				text-align: right;
			}
			a{
				text-align: center;
			}
		</style>
	</head>
	<body>
		<p>今天星期天</p>
		<span>现在时2020年</span>
		<br />
		<a href="#">10月25日</a>
	</body>
</html>

其运行结果为:

可以发现只对p 标签有作用,对于行内元素均没有作用

text-indent 缩进

text-indent

  • 缩进     px  
  • em{

             相对单位,相对font-size

       }

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>缩进</title>
		<style>
			p{
				text-indent: 2em;
			}
			h3{
				text-indent: 2px;
			}
		</style>
	</head>
	<body>
		<p>哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</p>
		<h3>嘿嘿嘿和嘿嘿嘿嘿嘿额嘿嘿额欸黑额和黑恶黑恶黑呵呵嘿额黑恶和嘿嘿欸和嘿嘿和</h3>
	</body>
</html>

其运行结果为:

可以发现em是缩进两个字的大小。

line-height     行高

line-height   行高    多行--行间距      单行--竖直居中

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>行高</title>
		<style>
			p{
				line-height:30px;
				background: red;
			}
		</style>
	</head>
	<body>
		<p>哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</p>
	</body>
</html>

其运行结果为:

这个是行间距 

这个是行高

text-decoration   文本装饰

text-decoration  

文本装饰   line-through(删除线)          underline(下划线)     none(取消a标签的下划线)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>文本装饰</title>
		<style>
			a{
				text-decoration: none;
			}
			p{
				text-decoration: line-through;
			}
		</style>
	</head>
	<body>
		<a href="#">文本装饰</a>
		<p>你好呀</p>
	</body>
</html>

其运行结果为: 

竖直对齐    vertical-align

 

 

文本阴影 text-shadow

text-shadow

文本阴影  CSS3新增

red  10px  10px  10px  阴影颜色  X轴偏移量  Y轴偏移量  模糊半径

X轴偏移量  正值  右

Y轴偏移量  正值  下

模糊半径  值越小越清晰,越大越模糊

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>竖直对齐</title>
		<style>
			span{
				text-shadow: red 10px 10px 3px;
			}
		</style>
	</head>
	<body>
		<p>中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐中秋节快乐</p>
		<span>国庆节快乐</span>
		<br />
		<a href="hhh">a标签</a>
	</body>
</html>

其运行结果为:

列表样式

去掉ul前面的小圆点

不好看  不好控制标记和文字的间距

list-style:none;

list-style-type:none;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>列表样式</title>
		<style>
			ul li{
				list-style-type: circle;
			}
		</style>
			
	</head>
	<body>
		<ul>
			<li>你好呀!</li>
			<li>你好呀!</li>
			<li>你好呀!</li>
		</ul>
	</body>
</html>

其运行结果为:

可以发现无序列表黑色的小圆点被去掉了,而且还换成了白色的空心小圆点。

超链接

超链接的状态伪类

link visited hover active

a:link   未点击的状态

a:visited     访问后

a:hover     鼠标悬浮  不限于a标签

a:active     鼠标按下不松开

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>超链接</title>
		<style>
			/*字体大小*/
			a{
				font-size: 30px;
			}
			/*未点击的状态*/
			a:link{
				color: black;
				text-decoration: none;
			}
			/*访问后*/
			a:visited{
				color: gold;
			}
			/*鼠标悬浮*/
			a:hover{
				color: red;
			}
			/*鼠标按下不松开*/
			a:active{
				color: pink;
			}
		</style>
	</head>
	<body>
		<a href="index.html">快来领取礼品</a>
	</body>
</html>

span和div

span  行内元素  没有任何样式

div   是一个块元素  本身没有任何样式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<!--span  行内元素  没有任何样式-->
		<style type="text/css">
			p{
				font-size: 30px;
			}
			span{
				color: red;
			}
			/*div  是一个块元素  本身没有任何样式*/
			/*div + css*/
			div{
				background-color: greenyellow;
			}
		</style>
	</head>
	<body>
		<p>今天是<span>国庆节</span>,又是<span>中秋节</span></p>
		
		<div>
			我是div
		</div>
	</body>
</html>

login按钮

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			.btn{
				background: url(img/qi.png);
				width: 50px;
				height: 30px;
				background-size: 100% 100%;
				border: none;
			}
		</style>
	</head>
	<body>
		<input type="button" class="btn" value="登录" />
	</body>
</html>

背景

背景

背景色  background-color

背景图片

背景图是否重复  background-repeat:no-repeat

背景图位置:background-position

px    X--右为正   Y--下为正

百分比   95%   40%

英文单词   水平  left    center    right

                  竖直方向   top   center   bottom

background

各属性值,则需而用,没有顺序

background-size

图片大小

px    可能会压缩或者拉伸

百分比   基于控件  可能会压缩,拉伸,留白

cover   不会压缩拉伸   不会留白   会虚   但是会剪裁

contain   不会压缩或拉伸,但是会有留白

建议:背景图大点,比例和控件比例一致

渐变

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			p{
				width:300px;
				height: 40px;
				/*background-color: yellow;*/
				background-image: url("img/PX4S@}X_NJ7)5KS14IS`TLK.png");
				background-repeat:no-repeat;
				background-position:right bottom;
			}
			/*线性渐变  CSS3新增*/
			div{
				width: 200px;
				height: 200px;
				border: 1px solid red;
				/*linear-gradient   线性渐变     CSS 新增*/
				background: linear-gradient(to left top,red,pink,green);
			}
		</style>
	</head>
	<body>
		<p>今天天气真好</p>
		<div></div>
	</body>
</html>

其运行结果为:

把p标签的img图片,先通过background-repeat:no-repeat;使他不重复   即只有一个这样子的图片

再用background-position 确定方向  使其控制在右下

background:linear-gradient(to  left top ,red,pink,green):

从左上角出发,渐变颜色依次为绿 粉 红  (中间的颜色也可以增多)

盒子模型

border  边框

border:1px solid red;    复合属性   没有顺序

border-width    边框宽度   上   右   下   左

                         缺省的话,找对边

border-style   边框类型

          dashed  虚线

          solid   实线

          dotted   点线

          none   不显示

border-color   边框颜色

margin   外边距

          auto  自动

          水平居中

                    块元素

                    width

                     左右间距

padding  内边距

width,height

box-sizing

border-radius

box-shadow

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			div{
				width: 100px;
				height: 100px;
				border: 1px solid red;
				margin: 20px auto;
				/*border-width: 1px 20px ;
				border-left-width: 2px;
				border-right-width: 5px;
				border-top-width: 0px;
				
				border-style: solid;
				border-color:red blue green pink;  
				*/
				
			}
			
			
			/*span行内元素    可以用内边距把他撑起来*/
			span{
				border: 1px solid green;
				padding: 20px;
			}
			/*div  是块元素*/
			p{
				border: 1px solid red;
				padding: 20px;
			}
		</style>
	</head>
	<body>
		<p>
			p
		</p>
		
		<div>
			div
		</div>
		
		<span>
			span
		</span>
	</body>
</html>

其运行结果为:

边距

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>边距</title>
		<style>
			*{
				background-color: yellowgreen;
				border: 1px solid red;
				margin: 0;
				padding: 0;
			}
			li{
				list-style: none;
			}
		</style>
	</head>
	<body>
		<h1>h1</h1>
		<p>p</p>
		<ul>
			<li>li</li>
		</ul>
		<a>a</a>
		<div>div</div>
		
	</body>
</html>

他没有设置内外边距为0时的图片为:

当对margin外边距   和padding内边距设置后的图片表示为;

可以发现他的每个标签都有边距。

边框半径

border-radius  CSS3新增

边框半径

值越大,角度越大

左上,右上,右下,左下

缺省的话,找对角

圆形

          块元素,宽高一致,半径等于宽高的一半

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>边框半径</title>
		<style>
			div{
				width: 100px;
				height: 100px;
				background-color: orange;
				border-radius: 5px 10px 15px 20px;
			}
			span{
				width: 20px;
				height: 20px;
				/*display:inline-block    铺平*/
				display: inline-block;
				background-color: gray;
				border-radius: 50%;
				text-align: center;
				line-height: 20px;
			}
		</style>
	</head>
	<body>
		<div></div>
		<span>1</span>23456798
	</body>
</html>

其运行结果为:

盒子尺寸

width,height

块元素设置有效,行内元素设置无效

box-sizing   盒子尺寸

contend-box        width 内容的宽 ,不包括padding,边线

border-box        width 指的是盒子的宽  包括边线,边距   推荐使用 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>盒子尺寸</title>
		<style>
			div{
				border: 1px solid red ;
				width: 100px;
				height: 100px;
				padding: 10px;
				box-sizing: border-box;
			}
			span{
				border: 1px solid red;
				width: 100px;
				height: 100px;
			}
		</style>
	</head>
	<body>
		<div>div</div>
		<span>span</span>
	</body>
</html>

其运行结果为:

我们可以发现盒子的尺寸设计只对块元素div有效,对行内元素span无效。

盒子阴影

盒子阴影

box-shadow

inset   内阴影    (外阴影就不写)

box-shadow:inset   10px(左右)    10px(上下)  10px(模糊宽度)green(模糊颜色);

添加多个阴影    中间用【,】连结

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>盒子阴影</title>
		<style>
			div{
				width: 100px;
				height: 100px;
				border: 2px solid red;
				box-shadow: inset  10px 10px 10px green;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
</html>

其运行结果为:

。。。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			.plist{
				width: 240px;
				background-color: gainsboro;
			}
			.plist h3{
				
				color: white;
				line-height: 40px;
				font-size: 20px;
				text-indent: 15px;
				background: red url(img/jiant.png) no-repeat 95% center;
			}
			.plist ul li{
					list-style: none;
					line-height: 30px;
					font-size: 16px;
					background: url(img/down.png) no-repeat 95% center;
			}
			.plist ul li a{
				text-decoration: none;
				color: black;
			}
			.plist ul li a:hover{
				text-decoration: underline;
				color: orange;
			}
				
		</style>
	</head>
	<body>
		<div class="plist">
			<h3>全部商品分类</h3>
			<ul>
				<li>
					<a href="#">图书</a>
					<a href="#">音响</a>
					<a href="#">数字产品</a>
					
				</li>
				<li>
					<a href="#">图书</a>
					<a href="#">音响</a>
					<a href="#">数字产品</a>
					
				</li>
				<li>
					<a href="#">图书</a>
					<a href="#">音响</a>
					<a href="#">数字产品</a>
					
				</li>
				<li>
					<a href="#">图书</a>
					<a href="#">音响</a>
					<a href="#">数字产品</a>
					
				</li>
			</ul>
		</div>
	</body>
</html>

其运行结果为:

竖直对齐方式

vertical-align

middle 居中    top  顶部     bottom 底部

middle 图文竖直对齐  在图片上添加vertical-align:middle;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>竖直对齐</title>
		<style>
			img{
				vertical-align: middle;
			}
		</style>
	</head>
	<body>
		<p>
			<img src="../../Day02/登录图片.png"  width="200px" />
			请点击登录按钮
		</p>
	</body>
</html>

其运行结果为:

竖直对齐方式的默认对齐为:下

案例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>美容产品</title>
		<style>
			/*display :inline-block;
			 元素是行内元素,行内不换行,块元素的特征
			 * */
			*{
				margin: 0px;
				padding: 0px;
			}
			body{
				background-color: oldlace;
				padding: 15px;
			}
			.plist{
				background-color: white;
				width: 240px;
			}
			.plist dt{
				background-color: red;
				padding: 10px;
				color: white;
				font-weight: bold;
				font-size: 20px;
			}
			.plist dd{
				line-height: 30px;
				font-size: 15px;
				border-bottom: dashed 1px gray;
			}
			.plist dd a{
				color: gray;
				text-decoration: none;
			}
			.plist dd a:hover{
				color: red;
			}
			.plist dd a span{
				width: 20px;
				height: 20px;
				display: inline-block;
				background-color: grey;
				border-radius: 50%;
				color: white;
				text-align: center;
				line-height: 20px;
				
			}
			.plist dd a:hover span{
				background-color: red;
			}
		</style>
	</head>
	<body>
		<dl class="plist">
			<dt>大家都喜欢买的美容品</dt>
			<dd>
				<a href="#">
					<span>1</span>
					雅诗兰黛即时修护眼霜
				</a>
			</dd>
			<dd>
				<a href="#">
					<span>1</span>
					雅诗兰黛即时修护眼霜
				</a>
			</dd>
			<dd>
				<a href="#">
					<span>1</span>
					雅诗兰黛即时修护眼霜
				</a>
			</dd>
			<dd>
				<a href="#">
					<span>1</span>
					雅诗兰黛即时修护眼霜
				</a>
			</dd>
			<dd>
				<a href="#">
					<span>1</span>
					雅诗兰黛即时修护眼霜
				</a>
			</dd>
		</dl>
	</body>
</html>

其运行结果为:

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值