Java学习笔记day32

CSS

简介

中文名:层叠样式表
作用:美化HTML标签

书写位置

方式1:在标签的style属性中书写
	这样的方式,编写的样式无法给别的标签使用,如果网页中有多个该样式的标签,此时代码就会较为冗余
	这种写法被称为内联样式
	示例
		<!DOCTYPE html>
        <html>
            <head>
                <meta charset="utf-8" />
                <title>css属性位置1</title>
            </head>
            <body>
                <font style="font-size: 100px; color: green;">css属性位置1</font>
            </body>
        </html>

方式2:在style标签中书写
	示例:
		<!DOCTYPE html>
        <html>
            <head>
                <meta charset="UTF-8">
                <title>css书写位置2</title>
                <style type="text/css">
                    font{
                        color: red;
                        font-size: 80px;
                    }
                </style>
            </head>
            <body>
                <font>你好,世界</font><br />
                <font>你好,世界</font><br />
                <font>你好,世界</font><br />
            </body>
        </html>

方式3:在css文件中书写,通过link标签引入到需要使用的html文件中
	示例:
		1.在css文件夹中创建test.css,代码如下
		font{
            font-size: 200px;
        }
		2.在项目根目录下创建html文件,代码如下
		<!DOCTYPE html>
        <html>
            <head>
                <meta charset="UTF-8">
                <title>css书写位置3</title>
                <link rel="stylesheet" type="text/css" href="css/test.css"/>
            </head>
            <body>
                <font>你好,世界</font>
            </body>
        </html>

选择器

作用:寻找指定的html标签

常见选择器

通配选择器:
	作用:给当前网页中所有标签都使用
	语法:
		*{
			css样式
		 }
	示例:
		<!DOCTYPE html>
        <html>
            <head>
                <meta charset="UTF-8">
                <title></title>
                <style type="text/css">
                    *{
                        font-size: 50px;
                    }
                </style>
            </head>
            <body>
                <font>font</font>
                <br />
                <h1>h1</h1>
                <p>p</p>
            </body>
        </html>

标签选择器
	作用:给当前网页指定标签设置样式
	语法:
		标签名{
			css样式
		}
	示例:
		<!DOCTYPE html>
        <html>
            <head>
                <meta charset="UTF-8">
                <title></title>
                <style type="text/css">
                    font{
                        font-size: 80px;
                    }
                    h1{
                        color: red;
                    }
                </style>
            </head>
            <body>
                <font>font</font>
                <br />
                <h1>h1</h1>
                <font>font</font>
                <p>p</p>
                <font>font</font>
            </body>
        </html>

class选择器
	作用:给当前网页class属性值为xxx的设置样式
	语法:
		.class的属性值{
			css样式
		}
	示例:
		<!DOCTYPE html>
        <html>
            <head>
                <meta charset="UTF-8">
                <title></title>
                <style type="text/css">
                    .text{
                        font-size: 80px;
                        color: red;
                    }
                </style>
            </head>
            <body>
                <p class="text">p1</p>
                <font class="text">font01</font>
                <h1 class="text">h1_01</h1>
                <hr />
                <p>p2</p>
                <font >font02</font>
                <h1 >h1_02</h1>
            </body>
        </html>

id选择器
	作用:给当前网页中id属性值为xxx的设置样式.
	语法:
		#id的属性值{
			css样式
		}
	示例:
		<!DOCTYPE html>
        <html>
            <head>
                <meta charset="UTF-8">
                <title></title>
                <style type="text/css">
                    #f{
                        font-size: 80px;
                    }
                </style>
            </head>
            <body>
                <font id="f">id选择器</font>
            </body>
        </html>

伪类选择器
	鼠标悬浮:hover
		语法:选择器:hover{鼠标悬浮在该标签上,该标签的样式}
		示例:
		<!DOCTYPE html>
        <html>
            <head>
                <meta charset="UTF-8">
                <title></title>
                <style type="text/css">
                    #f{
                        font-size: 80px;
                    }
                    #f:hover{
                        color: red;
                    }
                </style>
            </head>
            <body>
                <font id="f">伪类选择器</font>
            </body>
        </html>

	获取焦点:focus
		语法:选择器:focus{css样式}
		示例:
			<!DOCTYPE html>
            <html>
                <head>
                    <meta charset="UTF-8">
                    <title></title>
                    <style type="text/css">
                        input:focus{
                            width: 200px;
                            height: 40px;
                            outline: none;
                            border: 10px solid orange;
                        }
                    </style>
                </head>
                <body>
                    <input type="text" />
                </body>
            </html>

选择器的优先级

优先级:内联>id选择器>class选择器>标签选择器>通配选择器

如果多个优先级相同的给同一个标签设置样式,谁在后听谁的

文本样式

大小:font-size
字体:font-family
颜色:color
格式:font-style
粗细:font-weight
装饰:text-decoration
文本位于标签的位置:text-align
一行字所占高度:line-height

示例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#font{
				font-size: 80px;
				font-family: "楷体";
				/**
				 * 6位调色法:
				 * 	光的三原色:红,绿,蓝
				 * 	每个颜色的取值范围0~255
				 * 	对应的16进制取值0~FF
				 * 	写法:#红色绿色蓝色
				 * rgb(红色,绿色,蓝色);
				 * rgba(红色,绿色,蓝色,透明度)
				 * 	透明度取值范围:0~1,0表示全透明,1表示不透明
				 */
				/*color: #FF9900;*/
				/*color: rgb(255,0,0);*/
				color: rgba(0,0,0,0.3);
				font-style: italic; /*斜体*/
				font-weight: 200;
				text-decoration: none;
				text-align: center;
				line-height: 200px;
				background: orange;
			}
		</style>
	</head>
	<body>
		<h1 id="font">字体样式</h1>
	</body>
</html>

背景样式

属性:

background-color:背景颜色
background-image: 背景图片
background-size:背景大小
background-repeat:是否平铺
background-position:背景位置
background:背景

示例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#box{
				/*background-color: #FF0000;*/
				background-image: url("img/test.png");
				background-size:10% 10%;
				background-repeat:no-repeat;
				background-position:center center;
			}
		</style>
	</head>
	<body>
		<div id="box">
		</div>
	</body>
</html>

元素类型

行内元素:
	特点:设置宽高无效,标签大小由标签中内容决定,不会独占一行
	如:font标签
行内块元素:
	特点:设置宽高有效,不独占一行
	如:img,input
块级元素
	特点:设置宽高有效,独占一行
	如:h1,h2,p,div,li

如何修改标签的元素类型?
	通过display属性进行修改
		inline-block:行内块元素
		inline:行内元素
		block:块元素
		none:隐藏
		flex:弹性盒子
示例:
	<!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                #font{
                    background: red;
                    width: 300px;
                    height: 300px;
                    display: none;
                }
                #input{
                    background: green;
                    width: 300px;
                    height: 200px;
                }
                #box{
                    background: blue;
                    height: 200px;
                    width: 200px;
                }
            </style>
        </head>
        <body>
            <font id="font">font标签</font>
            <font>测试</font>
            <hr />
            <input id="input" />
            <font>测试</font>
            <hr />
            <div id="box"></div>
            <font>测试</font>
        </body>
    </html>

盒子模型

相关的属性

宽/高
	width/height
内边距:标签内,内容距离边框的距离
	padding
边框:边框厚度
	border
外边距:当前标签距离父容器或兄弟标签的距离
	margin

盒子类型

标准盒子:
	计算标签占用大小:左外边距+左边框+左内边距+宽+右内边距+右边框+右外边距 = 真实的宽
	默认的就是该类型的盒子
IE盒子:
	计算方式:左外边距 + 宽 + 右外边距 = 真实的宽
	设置盒子类型为IE盒子:box-sizing: border-box;
示例:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#box01{
				background: red;
				width: 200px;
				height: 200px;
				padding: 30px;
				border: 20px solid black;
				margin: 50px;
			}
			#box02{
				background: red;
				width: 200px;
				height: 200px;
				padding: 30px;
				border: 20px solid black;
				margin: 50px;
				box-sizing: border-box;
			}
		</style>
	</head>
	<body>
		<div id="box01"></div>
		<div id="box02"></div>
	</body>
</html>

布局

浮动

关键字:float

注意:会导致空间塌陷

解决方法:

.clearAfter:after{
	content: ".";
	overflow: hidden;
	clear: both;
	height: 0;
	display: block;
}
在其浮动的标签的父容器的class属性值中加入clearAfter即可

定位

属性:position

浏览器窗口定位:fixed

相对于浏览器窗口的位置,不会保留标签的原位置

示例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#box{
				height: 2000px;
				background: green;
			}
			#gg{
				width: 240px;
				height: 160px;
				background: red;
				position: fixed;
				right: 0;
				bottom: 0;
			}
		</style>
	</head>
	<body>
		<div id="box">
			<img src="img/bg.gif" />
			<font >xxx</font>
			<input />
		</div>
		<div id="gg">
			<font>这是一个广告</font>
		</div>
	</body>
</html>

相对定位:relative

相对于标签的原位置,会保留标签的原位置

示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.box{
				width: 200px;
				height: 200px;
			}
			#box01{
				background: red;

			}
			#box02{
				background: green;
				position: relative;
				left: 50px;
				top: -50px;
				z-index: -1;
			}
			#box03{
				background: blue;
			}

		</style>
	</head>
	<body>
		<div id="box01" class="box"></div>
		<div id="box02" class="box"></div>
		<div id="box03" class="box"></div>
	</body>
</html>

绝对定位:absolute

相对于最近一层做过定位的父容器的位置

示例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#box{
				width: 300px;
				height: 500px;
				background: black;
				position: relative;
			}
			#box01{
				width: 200px;
				height: 200px;
				background: red;
			}
			#box02{
				width: 200px;
				height: 200px;
				background: white;
				position: relative;
			}
			#box02_01{
				width: 150px;
				height: 50px;
				background: orange;
			}
			#box02_02{
				width: 150px;
				height: 50px;
				background: green;
				position: absolute;
				right: 0;
			}
			#box02_03{
				width: 150px;
				height: 50px;
				background: orchid;
			}
		</style>
	</head>
	<body>
		<div id="box">
			<div id="box01"></div>
			<div id="box02">
				<div id="box02_01"></div>
				<div id="box02_02"></div>
				<div id="box02_03"></div>
			</div>
		</div>
	</body>
</html>

响应式布局

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			html,body{
				width: 100%;
				height: 100%;
			}
			#content{
				width: 100%;
				height: 100%;
			}
			/*限定屏幕尺寸在100~640之间的使用*/
			@media only screen and (min-width: 100px) and (max-width: 640px) {
				#content{
					background: red;
				}
			}
			@media only screen and (min-width: 640px) and (max-width: 980px) {
				#content{
					background: green;
				}
			}
			@media only screen and (min-width: 980px) and (max-width: 1240px) {
				#content{
					background: orange;
				}
			}
			@media only screen and (min-width: 1240px) {
				#content{
					background: black;
				}
			}
			
		</style>
	</head>
	<body>
		<div id="content"></div>
	</body>
</html>

弹性盒子

示例1

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#box{
				width: 300px;
				background: orange;
				display: flex;/*设为弹性盒子*/
				flex-wrap: wrap;/*允许折行*/
			}
			.div{
				width: 100px;
				height: 100px;
				border: 1px solid black;
				box-sizing: border-box;
			}
		</style>
	</head>
	<body>
		<div id="box">
			<div id="box01" class="div">1</div>
			<div id="box02" class="div">2</div>
			<div id="box03" class="div">3</div>
			<div id="box04" class="div">4</div>
			<div id="box05" class="div">5</div>
			<div id="box06" class="div">6</div>
			<div id="box04" class="div">4</div>
			<div id="box05" class="div">5</div>
			<div id="box06" class="div">6</div>
		</div>
	</body>
</html>

示例2

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#box{
				width: 300px;
				height: 200px;
				background: orange;
				display: flex;/*设为弹性盒子*/
			}
			#div{
				width: 100px;
				height: 100px;
				background: red;
				margin: auto;/*使组件居中*/
			}
			
		</style>
	</head>
	<body>
		<div id="box">
			<div id="div"></div>
		</div>
	</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值