day48 前端高级选择器优先级

时间:2021-10-24 03:27:00

复习

1. 基础选择器
标签选择器(div) | 类选择器(.div1) | id选择器(#div2)
<div class="div1" id="div2"></div>
统配选择器 | !important | 行间式 2. 选择器优先级
通常作用范围越精确优先级越高
!important > 行间式 > id > class > 标签 > 统配 3. 长度与颜色
px in mm cm em rem vw vh
red #FF0000 rgb(255, 0, 0) rgba(255, 0, 0, 1) 4.标签的分类
主内容: 双标签, <div></div>
主功能: 单标签, <img />(结束标识符可以省略) 5. display
通过显示方式来分类
inline: 同行显示, 不支持宽高, 宽高有内容撑开
block: 异行显示, 支持所有css样式, 设置宽高一定为设置的宽高(解决block的默认宽高)
inline-block: 同行显示, 支持所有css样式, 宽高一般有内容撑开, 但通过会设置宽或高,那么 高或宽会等比缩放(img) 6. 嵌套关系
inline套inline
inline-block不建议嵌套任意标签
block可以嵌套任意标签(hn,p一般嵌套inline标签) 7. 盒模型
margin + border + padding + content(w x h), 四个部分区域 8. 盒模型布局
1.margin-top | margin-left 完成自身布局
2.margin-right | margin-bottom 影响兄弟布局 坑:
1. 上兄弟的下(bottom)下兄弟的上(top)重叠, 取大值
2. 父级和第一个显示子级top重叠, 取大值 => 解决, 给父级加padding-top | (父级加border-top) block设置宽高
一定采用设置的宽高 block默认宽高:
1.没有设置宽, 宽自适应父级的宽(子级的border+padding+width = 父级的width)
2.没有设置高, 高由内容撑开 前端写数字或者字母,不使用空格会被认为是一个字母或数字,中间可以加空格 margin-left:auto,自动值,自适应,将剩余空间给左边使用

盒子总结

block:
默认宽高
1.没有设置宽, 宽自适应父级的宽(子级的border+padding+width = 父级的width)
2.没有设置高, 高由内容撑开 设置了宽高
一定采用设置的宽高 显示宽高
border+padding+content 自身布局
margin-top | margin-left 兄弟布局
margin-bottom | margin-right 父级水平居中
margin: 0 auto; 与inline相关的盒子
vertical-align

盒子水平居中

.sup {
width: 500px;
height: 100px;
background-color: orange;
/*屏幕水平居中*/
/*margin-left: calc((100% - 500px) / 2);*/
/*屏幕水平居右*/
/*margin-left: auto;*/
margin: 0 auto;
}
.sub {
width: 50px;
height: 50px;
background-color: red;
/*父级水平居中*/
/*margin-left: calc((500px - 50px) / 2);*/
/*父级水平居右*/
/*auto自适应父级可利用的剩余宽度*/
/*margin-left: auto;*/
/*能不能通过自适应完成水平居中*/
margin-left: auto;
margin-right: auto;
margin: 0 auto;
}
<div class="sup">
<div class="sub"></div>
</div>

今日内容

字体|文本相关属性样式
边界圆角属性样式
系统默认样式的清除操作(reset操作),(body|ul|p|a|hn等)
高级选择器
伪类选择器,a的四大伪类
背景属性样式

文本属性操作

颜色,大小,字重,行高,水平居中方式

text-align: center; # 水平居中方式
color: red; # 字体颜色
font: 900 30px/120px "STSong"; # 字重 大小/行高 字族 # 了解
# em(自身->父->html) | rem(html)
text-indent: 2em; # 字划线
# underline | line-through | overline
text-decoration: overline; font-family:"STSong","微软雅黑",可以设置备用字体
a标签字体大小不是继承
最小字体大小只能达到12px .p1 {
/*颜色 大小 字重 字族 行高 水平居中方式*/
color: red;
font-size: 50px;
/*100~900| normal | lighter | bold*/
font-weight: bold;
/*字族可以设置备用字体*/
font-family: "STSong", "微软雅黑";
/*将行高值以盒子高度一致*/
line-height: 200px; /*left | center | right*/
/*text-align: center;*/
}
.p1 {
/*简写*/
/*text-align: center;*/
color: red;
font: normal 30px/200px "STSong", "微软雅黑";
}
.p1 {
font-size: 50px;
/*em就是一个字的大小*/
text-indent: 2em;
/*underline | line-through | overline*/none
text-decoration: overline;
}
html {
/*rem: r => root 只和html字体大小关联*/
font-size: 50px;
}
.sup {
/*最小字体只能到达12px*/
font-size: 12px;
}
.sub
<p class="p1">
一二三四五
</p>
<div class="sup">
<div class="sub">呵呵</div>
</div>

reset操作

what|why: 大多系统预定义标签, 有默认样式, 不满足实际开发需求, 反倒影响布局, 通常在开发前, 将需要用到的预定义标签的默认样式清除, 该操作就称之为 reset操作

body, h1, h6, p {
margin: 0;
}
ul {
margin: 0px;
padding: 0;
list-style: none;
}
a {
text-decoration: none;
color: black;
}

高级选择器

1.群组选择器
/*1.群组选择器:
同时控制多个
选择器之间用逗号隔开
每一个选择器位均可以替换为任意基础选择器或高级选择器
*/
.div1, .p1 {
color: red;
} 2.后代子代选择器
通过关系层次控制一个目标选择器
>代表父子关系 | 空格代表后代关系(后代关系不一定是父子,还可能是爷孙关系)
.sup1 > .sub {
color: orange;
}
/*sub是body的后代,但不是子代*/
body .sub {
color: pink;
} 3.兄弟选择器
通过关系层次控制一个目标选择器
上兄弟可以控制下兄弟,下兄弟不能控制上兄弟
+,~
+:相邻
~:兄弟,中间可以跨越几个相邻标签
/* + 相邻 */
.b2 + .b3 {
color: blueviolet;
}
/* ~ 兄弟 */
.b1 ~ .b3 {
color: brown;
}
4.伪类选择器 - 位置
:nth-child(3)
3n-1,可以表示第3,6,9个数
ul:nth-child(10) > li:nth-child(2n) {
color: green;
} 5.多类
.d.dd { } <div class="div1">123</div>
<p class="p1">456</p>
<div>3333</div>
<div class="sup1">
<div class="sub">sub</div>
</div>
<div class="sup2">
<div class="sub">sub</div>
</div> <div class="b3">b3 333</div>
<div class="b1">001</div>
<div class="b2">002</div>
<div class="b3">b3 003</div> <ul>
<h3>标题</h3>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
</ul>
<ul>
<h3>标题</h3>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
<li>列表项</li>
</ul>
<div>
<p>0001</p>
<p>0002</p>
<p>0003</p>
</div>

高级选择器优先级

优先级和个数(权重)相关
基础选择器优先级占主导: id 无限大于 class 无限大于 标签
选择器优先级相同时, 和顺序有关
高级选择器类型不会影响优先级
伪类选择器相当于class <style>
.div {
font-size: 100px;
color: red;
} div > .div {
color: orange;
}
div ~ div ~ .div {
color: brown;
}
div .div {
color: pink;
} .div:nth-child(3) {
color: yellowgreen;
}
.sup .div {
color: darkgreen;
}
</style>
<style>
/*多类名*/
.div.div1 {
color: black;
}
/* div.div#dd.div1 */
</style> <div>
<div class="sup">
<div>
<div>
<div></div>
<div></div>
<div class="div div1" id="dd">123</div>
</div>
</div>
</div>
</div>

边界圆角

左上为第一个角,顺时针赋值,不足找对角
先横后纵的取像素值,然后画圆角
可以横纵向分离:50px(横向) 10px (第一个角横向50px,第二个角横向10px,第三个50px,第四个10px) / 150px(纵向) <style>
div {
width: 300px;
height: 300px;
background-color: red;
}
div {
/*左上为第一个角, 顺时针赋值, 不足找对角*/
/*border-radius: 30px 60px;*/ /*border-radius: 150px;*/
/*border-radius: 50%;*/ /*横向第一个角50px, 第二个角10px, 不足找对角*/
/*纵向均是150px*/
border-radius: 50px 10px / 150px;
}
</style>
<div></div>

a标签的四大伪类

:link  链接初始状态
:hover 鼠标悬浮状态 *****
:visited 链接访问后的状态
:active 鼠标按下时的状态 ***
字体属性还是靠继承,但是a标签的四大伪类属性对应了不同的颜色,所有它默认不继承父级的颜色 <style>
/*链接初始状态 | 鼠标悬浮状态 | 链接访问后的状态 | 鼠标按下时的状态*/
/*a:link {*/
/*color: black;*/
/*}*/ /*a:hover {*/
/*cursor: pointer;*/
/*}*/ /*a:visited {*/
/*color: yellow;*/
/*}*/ /*a:active {*/
/*color: green;*/
/*}*/
div标签只有两个伪类状态会生效/*鼠标悬浮状态 | 鼠标按下时的状态*/
div {
width: 200px;
height: 200px;
background-color: pink;
} div:hover {
background-color: yellowgreen;
cursor: pointer;
} div:active {
background-color: red;
} </style>

背景图片之精灵图

div {
background: url("img/bg.png") no-repeat 10px 20px;
图片地址 不平铺 x轴偏移 y轴偏移
}
精灵图操作本质: 控制背景图片的位置
backgroud-position-x
backgroud-position-y
div:hover {
backgroud-position-y: -20px; <style> .div {
width: 500px;
height: 500px;
border: 1px solid black;
}
.div {
background-image: url("img/001.png");
/*平铺: repeat-x | repeat-y | repeat | no-repeat*/
background-repeat: no-repeat;
/*背景图片位置*/
/*水平: left|center|right 垂直:top|center|bottom*/
background-position: -200px 50px;
}
.div:hover {
transition: 2s;
background-position-x: center;
}
</style>

精灵图案例

<!DOCTYPE html>

<head> <meta charset="utf-8"> <title>Title</title> <style> a { color: #333; text-decoration: none; } h1 { width: 500px; height: 100px; border: 1px solid black; } h1 a { width: 500px; height: 100px; display: block;

background: url("img/bg.png") no-repeat 0 -150px;
}
h1 a:hover {
background-position-y: -250px;
}
</style>
<style>
.li {
width: 157px;
height: 48px;
border: 1px solid black;
background: url("img/bg.png") no-repeat -155px 0;
}
.li:hover {
cursor: pointer;
background-position-y: -48px;
}
</style>
</head>
<body>
<h1><a href=""></a></h1> <div class="li"></div> </body>
</html>

day48 前端高级选择器优先级的更多相关文章

  1. 盒子总结&comma;文本属性操作&comma;reset操作&comma;高级选择器&comma;高级选择器优先级&comma;边界圆角&lpar;了解&rpar;&comma;a标签的四大伪类&comma;背景图片操作&comma;背景图片之精灵图

    盒子总结 ''' block: 设置宽高 1.没有设置宽,宽自适应父级的宽(子级的border+padding+width=父级的width) 2.没有设置高,高由内容撑开 设置了宽高 一定采用设置的 ...

  2. 清除系统默认样式,文本样式&comma;高级选择器&lpar;权重&rpar;&comma;边界圆角,a标签的四大伪类,背景图片

    清除系统默认样式 大多系统预定义标签,有默认样式,不满足实际开发需求,反倒影响布局通常清除系统样式,利于开发 body,h1-h6,p,table { margin:; } ul { margin:; ...

  3. 前端1-----CSS层叠样式表了解&comma;css的引入方式&comma;三大选择器&lpar;标签&comma;类&comma;id&rpar;&comma;高级选择器

    前端1-----CSS层叠样式表了解,css的引入方式,三大选择器(标签,类,id),高级选择器 一丶CSS简介    叠样式表(英文全称:Cascading Style Sheets)是一种用来表现 ...

  4. from提交数据,高级选择器,伪类选择器,前端样式等

    1. form提交数据 get: 不安全的提交数据,高效 post: 安全的提交数据,低效 前台都可以给后台提交数据,后台一定会给前台一个反馈结果 2. 高级选择器 <!DOCTYPE html ...

  5. 前端CSS css引入方式 css选择器 css选择器优先级

    一.       CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表 ...

  6. 前端-CSS-初探-注释-语法结构-引入方式-选择器-选择器优先级-01&lpar;待完善&rpar;

    目录 CSS(Cascading Style Sheet) CSS注释 CSS语法结构 CSS的三种引入方式 选择器 伪类.伪元素选择器速查 CSS选择器优先级***** 选择器相同的情况下 选择器不 ...

  7. 前端 CSS的选择器 高级选择器

    高级选择器分为: 后代选择器 儿子选择器 并集选择器 交集选择器 后代选择器 使用空格表示后代选择器.父元素的后代(包括儿子,孙子,重孙子) 后代选择器 在CSS中使用非常频繁 因为HTML元素可以嵌 ...

  8. 前端----css 选择器

      css 为了修饰页面作用, 让页面好看 ⑴ css的引入方式1,行内样式body里面2,内接样式在html里面的 style 里面3,外接样式两种:①链接式: <link rel=&quot ...

  9. css高级选择器&amp&semi;盒模型

    css高级选择器&盒模型 1.组合选择器 群组选择器 /* 每个选择器为可以为三种基础选择器的任意一个,用逗号隔开,控制多个*/ div,.div,#div{ color:red } 后代(子 ...

随机推荐

  1. 关于activity的启动模式

    在Android中每个界面都是一个Activity ,界面的切换实际上是对不同Activity实例化的过程.而启动模式就决定Activity启动运行方式. 1.设置方式它是在主配置文件中,Activi ...

  2. 【VBS】vbs指定编码保存文本文件(含xml、ini什么的)

    本文还是折腾安装包期间衍生出来的产物. 我那安装包在安装期间有这个动作: - 让用户填写一些信息,待安装完成后把这些信息写入软件安装目录中的指定ini.xml文件中 上文说的是如何用vbs写ini,i ...

  3. centos ssh配置使用

    配置 数据阶梯 CentOS SSH配置 默认CentOS已经安装了OpenSSH,即使你是最小化安装也是如此.所以这里就不介绍OpenSSH的安装了. SSH配置: 1.修改vi /etc/ssh/ ...

  4. BZOJ 4723 Flappy Bird

    找到可行区间,最优解一定在区间的下端点. #include<iostream> #include<cstdio> #include<cstring> #includ ...

  5. &lbrack;Leetcode&rsqb;&lbrack;016&rsqb; 3Sum Closest &lpar;Java&rpar;

    题目: https://leetcode.com/problems/3sum-closest/ [标签]Array; Two Pointers [个人分析] 这道题和它的姊妹题 3Sum 非常类似, ...

  6. Android webViewj简单处理apk的下载链接

    最近在开发二维码扫一扫的功能,需要分多种情况处理外部的url.遇到一个问题是,一些程序包(比如一些android应用)的下载不好处理.如果不做任何处理的话,webView会打开一个空白页.比如这个链接 ...

  7. Incompatible pointer types assigning to &&num;39&semi;id&lt&semi;&gt&semi;&&num;39&semi; from &&num;39&semi;Class&&num;39&semi;错误

    实例变量在类方法中被使用 原因:静态方法访问了非静态变量属性(.h中声明的那些属性),就是类方法访问了成员变量

  8. 第八届蓝桥杯B组java第四题

    标题:取数位 求1个整数的第k位数字有很多种方法.以下的方法就是一种.对于题目中的测试数据,应该打印5.请仔细分析源码,并补充划线部分所缺少的代码.注意:只提交缺失的代码,不要填写任何已有内容或说明性 ...

  9. typora快捷键之速成笔记

    使用心得:用起来相当的顺手,强烈推荐小伙伴使用该工具,内置快捷功能很贴心 工具下载: https://download.csdn.net/download/lele508994993/10392197 ...

  10. 用openssl生成SSL使用的私钥和证书,并自己做CA签名(转)

    本 文记叙的是一次基于SSL的socket通讯程序开发中,有关证书,签名,身份验证相关的步骤. 我们的场景下,socket服务端是java语言编写的,客户端是c语言.使用了一个叫做matrixssl的 ...