Python-ccs高级选择器 盒模型

时间:2023-03-09 19:31:46
Python-ccs高级选择器 盒模型
css高级选择器与盒模型

脱离文档流 ,其中就是产生了BFC

1.组合选择器
- 群组选择器
/* 每个选择器位可以位三种基础选择器的任意一个, 用逗号隔开, 控制多个 */
div, #div, .div {color: red} - 后代(子代)选择器
.sup .sub {
后代,sup一定是sub的父代(不一定是父集,sub就是被sup直接嵌套)
}
.sup > .sub {子代} - 兄弟(相邻) 选择器
.up ~ .down {兄弟}
.up + .down {相邻} - 交集选择器
section.ss#s {标签类名id名综合修饰} 2.复杂选择器的优先级
1.与修饰符位置无关
2.属性选择器与类选择器权重相同
3.id 无限大于 类[属性] 无效大于 标签
4.权重只与个数相关,个数(类型)均相同时,最后由位置决定 3.伪类选择器
a链接标签四大伪类
:link 初始状态
:hover(鼠标悬浮!!!!!!)
:active(鼠标点击中)
:visited 位置相关
:nth-child() | :last-child |:first-child先确定位置再匹配类型
:nth-of-type() 先匹配类型再确定位置 取反
选择器:not(修饰词) | div:not(:nth-child(2)) :before (盒子渲染前)
:after (盒子渲染后)
:focus (表单标签获取焦点)
:blur 4 精灵图:
<head>
<style type="text/css">
.lt1 {
width: 155px;
height: 48px;
background: url('img/bg.png') no-repeat;
background-position:0 0;
}
.lt1:hover {
cursor: pointer;
background: url('img/bg.png') no-repeat 0 -48px;
}
/*1.显示区域一定要与精灵图目标小图大小一致*/
/*2.通过背景图片定位方式将目标小图移至显示位置*/
background-position里通常是写负值
</style>
</head>
<body>
<!-- 精灵图: 各种小图拼接起来的一张大图 -->
<!-- 为什么使用精灵图: 减少请求次数, 降低性能的消耗, 二次加载图片资源时极为迅速(不在需要发送请求) -->
<div class="box"></div>
<div class="lt1"></div>
</body> 5.盒模型
盒子的四个组成部分:
margin + border + padding + content(width x height)
display:inline,block,inline-block
都具有自身区域:
content 提供给内容(文本,图片,子标签整个盒子)的显示区域
padding 介于border与content之间的区域
可以撑开border与content之间的距离,没有自身颜色(透出背景颜色),只有区域
注意:padding-top可以将自身与自身第一个子级分离 border 边框,宽度 颜色自身定义,padding和content颜色有背景色填充
margin 控制盒子位置==>盒模型布局,不参与盒子显示,其他都参与盒子显示 # 整体设置 padding: 上 右 下 左 (无值边取对边)
# 分开设置
padding-top: 10px;
padding-right: 10px;
padding-bottom: 10px;
padding-left: 10px; # 整体设置 border: 10px solid black;
# 分开设置
border-top: 10px solid black;
border-right: 10px solid black;
border-bottom: 10px solid black;
border-left: 10px solid black; 如何要保证显示区域大小不变,增加了padding和border,可以相应减小content的区域 边界圆角:
border-radius:20px;(最大只能到盒子的一半)
border-radius:50%;
border-radius:10px 20px 30px ;顺序:左上 右上 右下 左下(没有的值取对边)
border-radius:10px / 20px; 横向都取10px,纵向都取20px 6.盒模型margin布局
完成自身布局: 上移|左移margin-left | margin-top 影响兄弟布局:下移|右移: margin-top取正值|margin-left取正值
(上移|左移: top取负值|left取负值) 作为兄弟,上盒子的垂直布局会影响下盒子垂直方位, 上盒子的结束位置为下盒子的开始位置 坑1:父子联动;
解决方案1:子级里放个浮动 ,后再margin布局
float:left;
margin-top:30px;
解决方案2:position:relative;
top:30px;
坑2:上兄弟下margin和下兄弟上margin重叠取大值