前端网页学习day46(组合选择器 属性选择器 盒模型 a标签,img标签,list标签 伪类选择器)

前端网页学习(html)

DAY46

今日内容:

css组合选择器

属性选择器

盒模型 盒模型布局

a标签、img、list标签

伪类选择器

css组合选择器


特性: 每个选择器位可以为任意基本选择器或选择器组合

群组选择器:可以控制多个

div, .s, section{
    color: red;
} 

子代选择器: 用>连接

body > div{
    color:orange;
}

后代选择器: 空格连接 包含子代

body a{
    text-decoration: none;
}

相邻选择器: 用 + 连接

span + section{
    background-color: pink;
}

兄弟选择器: 用 ~ 连接

div~section{
    background-color: brown;
}

交集选择器: 即是选择器1 又是 选择器2

i.s{
    color: yellow;
}

多类选择器

.d1.d2.d3{
    color: #000
}

组合选择器优先级

同目录结构下:

  1. 子代与后代优先级相同 body >div 等同于 body div

  2. 相邻与与兄弟优先级相同 div + span 等同于 div ~ span

  3. 最终样式采用逻辑后的样式值

不同目录结构下

  1. 根据选择器权值进行比较
  2. 权值为标签权重之和
  3. 权重: *:1 div:10 class:100 id:1000 !important: 10000
  4. 权值比较时,关心的是值的大小,不关心位置与具体选择器名
  5. id永远比class大,class永远比标签大
  6. 控制的是同一目标,才具有可比性

属性选择器


属性选择器的权重等同于class选择器

有属性class的所有标签

[class]{
    color: orange;
}

有属性class且值为d2的所有标签(值不影响权重)

[class="d2"]{
    color: pink;
}

交集选择器

div且class=“d2”,增加了权重

div[class="d2"]{
    color: blue;
}

属性开头匹配: ^=

属性结尾匹配: $=

属性模糊匹配: *=

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>属性选择器</title>
	<style>
		/*属性开头: ^= */
		/*属性结尾: $= */
		/*属性模糊匹配: *=  */
		[class ^= 'he']{
			color: yellow;
		}
		[class $= 'ld']{
			color: tan;
		}

		[class *='owo']{
			color: cyan;
		}
		
		[class][dd]{
			color:brown;
		}

	</style>

</head>
<body>
	<div class="d1">0000
		<div class="d2">12345</div>
		<!-- dd为自定义属性 -->
		<div class="helloworld" dd>helloworld</div>
	</div>
</body>
</html>

盒模型 盒模型布局


盒模型

组成: margin + border + padding + content

content = width * height

  1. 四个成员均具有自身独立显示区域 不相互影响
  2. margin/padding外边距/内边距控制布局
  3. border控制边框
  4. content控制内容

padding与content共有背景颜色

content内容显示区域

/*值设置*/
.box{
	/*控制四个方位*/
	/*margin:20px;
	padding: 30px;*/
	
	/*第一个值:上下 第二个值:左右*/
	/*margin: 10px 20px;
	padding: 30px 40px;*/
	/*上 左右 下*/
	/*margin: 10px 20px 30px;
	padding: 30px 40px 50px;*/
	/*上 左 右 下*/
	margin: 10px 20px 30px 40px;
	padding: 30px 40px 50px 60px; 
	/*总结*/
	/*1.规定起始 2.顺时针 3.不足找对面*/
}

边界圆角

/*单角设置*/
.box{
	/*一个固定值: 横纵*/
	/*border-top-left-radius: 100px; */
	/*二个固定值: 横  纵*/
	/*border-bottom-left-radius:100px 50px;  */
	/*百分比赋值*/
	border-top-left-radius: 100%; 
}
/*整体赋值*/
.box{
	/*不分方位(横纵)*/
	/*左上为第一个角,顺时针,不足找对角*/
	/*border-radius: 30px 60px 120px;*/

	/*区分横纵*/
	/*1. /前控制横向,/后控制纵向*/
	/*2. 横向又可以分为1,2,3,4个值,纵向依然*/
	/*border-radius: 100px/50px;*/
	/*左上横10 右上横100 右下横50 左下横100 / 纵向全为*/
	border-radius: 10px 100px 50px /50px;
}

盒模型布局

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>盒模型布局</title>
	<style>
		/*做页面必备reset操作*/
		html,body{
			margin: 0;
		}

		.box, .wrap{
			width: 200px;
			height: 200px;
			background-color: red;

		}
		.wrap{
			background-color: orange;
		}
		/*影响自身布局*/
/*		.box{
			margin-top: 30px;
			margin-left: 100px; 
		}*/
		/*影响兄弟布局*/
		/*margin-bottom影响上下兄弟,尽量别对margin-right进行设置*/
		/*margin-right影响左右兄弟,尽量别对margin-bottom进行设置*/
		.box{
			margin-bottom: 30px;
			/*margin-right: 100px;*/
		}

		/*display:显示方式*/
		/*块:block*/
		/*内联:inline*/
		/*内联块:inline-block*/
		.box, .wrap{
			display: inline-block;
			/*vertical-align: top;*/
		}
	
		/*盒模型布局坑,只出现在和margin-top相关的地方*/
		/*兄弟坑*/
		.s1, .s2{
			width: 100px;
			height: 100px;
			background-color: pink;
		}
		/*重叠取大值*/
		.s1{
			margin-bottom: 20px;
		}
		.s2{
			margin-top: 20px;
		}
		
		/*父子坑*/
		.sup{
			width: 200px;
			height: 200px;
			background-color: cyan;
		}
		.sub{
			width: 100px;
			height: 100px;
			background-color: orange;
		}
		/*父子top重叠,取大值*/
		.sup{
			margin-top: 50px;

		}
		.sub{
			margin-left: 50px;
			/*margin-top: 50px;*/
		}
		/*解决盒模型经典布局坑*/
		/*1.将父级固定*/
		.sup{
			/*border-top: 1px solid transparent;*/
			/*保证显示区域不变 200*200*/
			/*height: 199px;*/
		}
		/*2.通过padding*/
		.sup{
			padding-top:50px;
			height: 150px;
		}


	</style>


</head>
<body>
	<div class="box"></div>
	<div class="wrap"></div>

	<!-- 坑 -->
	<section class="s1"></section>
	<section class="s2"></section>
	
	<div class="sup">
		<div class="sub"></div>
	</div>

</body>
</html>

a标签、img、list标签


a标签: 超链接标签

基本使用:

<a href="https://www.baidu.com">前往百度</a>

./或省略代表当前文件路径,可以访问与该文件路径下的所有文件及文件夹

<a href="./temp/temp.html">前往temp页面</a>

属性

title: 鼠标悬浮的文本提示

target: _blank ,以空白标签位来打开目标页面

<a href="http://sina.com.cn" title="新浪网" target="_blank">前往新浪</a>

其他应用场景: mailto | sms | tel

<a href="mailto:[email protected]">信息给zero</a>

锚点

	<a href="#tag">前往底部</a>
	
	br * 100
	<!-- 设置一个锚点 -->
	<!-- .bottom做底部布局的区域 -->
	<div class="bottom">
		<!-- <a name="tag">...</a> -->
		<i id="tag"></i>
		<div id="tag2"></div>
		...
	</div>

img标签

src可以连接本地及网络图片

alt资源加载失败时的文本提示

title图片的文本信息(鼠标悬浮时展示)

<img src="http://pic5.photophoto.cn/20071228/0034034901778224_b.jpg" alt="风景图片" title="雪山图片">

list列表

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>a_img_list</title>
	</style>
</head>
<body>
	<!-- list列表 -->
	<!-- 有序列表 -->
	<style type="text/css">
		ol, ul {
			margin: 0;
			padding: 0;
			list-style: none;;
		}
	</style>
	<ol>
		<li>列表项</li>
		<li>列表项</li>
		<li>列表项</li>
	</ol>
	<!-- 无序列表 -->
	<ul>
		<li>列表项</li>
		<li>列表项</li>
		<li>列表项</li>
	</ul>

</body>
</html>

伪类选择器


<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>伪类选择器</title>
	<style type="text/css">
		a{
			color: #333;
			text-decoration: none;
		}
		/* :link为一个整体,代表超链接初始状态 */
		a:link{
			color:orange;
		}
		/* :hover鼠标悬浮*/
		a:hover{
			color: green;
			/*鼠标样式*/
			cursor: pointer;
		}
		/* :active活动状态中(被鼠标点击中)*/
		a:active{
			color: red;
		}
		/* :visited访问过的 */
		a:visited{
			color: cyan;
		}

		/*普通标签运用 :hover :active */
		.box{
			width: 200px;
			height: 200px;
			background-color: red;
		}
		.box:hover{
			background-color: orange;
			cursor: pointer;
		}

		.box:active{
			width: 300px;
			height: 300px;
			border-radius: 100px;
			background-color: yellowgreen;
		}
	.txt:before{
		content: "我是前缀~~~";
	}
	.txt:after{
		content: ">>>我是后缀";
	}
	
	/*伪类可以单独出现*/
	/*:after{
		content: "哈哈";
	}*/

	/*位置伪类*/
	/*1.位置从1开始*/
	/*2.*/
	/*先匹配位置,在匹配类型:
	找到所有结构下的第二个标签,如果刚好是div,那么匹配成功 --
	*/
	div:nth-child(2){
		color: orange;
	}
	/*先确定类型,在匹配位置*/
	/*先将页面中所有的div找出,在匹配那些在自己结构层次下的第二个div*/
	div:nth-of-type(2){
		color: cyan;
	}
	
	/*取反伪类*/
	:not([d]){
		color: red;
	}


	</style>
</head>
<body>
	<!-- 1.a标签的四大伪类 -->
	<a href="./123.html">访问页面</a>
	<a href="http://www.baidu.com">访问百度</a>
	<div class="box">box</div>
	
	<!-- 2.内容伪类 -->
	<div class="txt">原来的文本</div>

	<!-- 3.位置伪类 -->
	<div class="wrap">
		<span>span1</span>
		<div>div1</div>
		<div>div2</div>
	</div>

	<!-- 4.取反伪类 -->
	<span d>12345</span>
	<span dd>67890</span>

</body>
</html>

以上为本次学习内容

猜你喜欢

转载自blog.csdn.net/sql121407/article/details/82807878