首页 > 其他分享 >css复建

css复建

时间:2024-03-25 11:00:15浏览次数:26  
标签:color 元素 选中 red 复建 选择器 css 属性

最近写了好多个界面的css,大部分是抄的

然后在一段一段研究代码的时候发现,好多作者的思路很巧妙,翻译成人话就是我看不懂作者是怎么实现的。

为了学习css,搞些好玩的界面,看来css要重新学习一遍了

先说说css的选择器和他们的优先级,要想用好css,他们的优先级是必须必须要搞清楚的

总体来说:ID>类>元素>通配

当然这是最简单的情况,我们实际开发中不可能只用这里面的一种,肯定都是混合使用的,这时候问题来了,假如一个选择器包含了多个类型,那么它的优先级该怎么计算呢?

这里其实不说优先级,说 特异度或者 权重比较好。

他们有一个计算公式,(ID选择器的个数,,,类、伪类、属性选择器的个数,,,元素、伪元素选择器的个数)从前往后进行比较,如果完全一样,则后写的生效。

下面来介绍一下选择器们的种类:

 

通配选择器(Universal selector)

  • 作用:选中页面中的所有元素
  • 语法:*
  • 例子:*{}
* {
  color: red;
}
 

元素选择器(Type selector)

也叫类型选择器、标签选择器

  • 作用:根据标签名来选中指定的元素
  • 语法:elementname{}
  • 例子:p{} h1{} div{}
p {
  color: red;
}

h1 {
  color: green;
}
 

类选择器(Class selector)

  • 作用:根据元素的 class 属性值选中一组元素
  • 语法:.classname
  • 例子:.blue{}
.blue {
  color: blue;
}
.size {
  font-size: 20px;
}
 

class是一个标签的属性,它和id类似,不同的是class

  • 可以重复使用,
  • 可以通过class属性来为元素分组,
  • 可以同时为一个元素指定多个class属性
<p class="blue size">类选择器(Class selector)</p>
 

ID 选择器(ID selector)

  • 作用:根据元素的id属性值选中一个元素
  • 语法:#idname{}
  • 例子:#box{} #red{}
#red {
  color: red;
}
 

属性选择器(Attribute selector)

  • 作用:根据元素的属性值选中一组元素
  • 语法 1:[属性名] 选择含有指定属性的元素
  • 语法 2:[属性名=属性值] 选择含有指定属性和属性值的元素
  • 语法 3:[属性名^=属性值] 选择属性值以指定值开头的元素
  • 语法 4:[属性名$=属性值] 选择属性值以指定值结尾的元素
  • 语法 5:[属性名*=属性值] 选择属性值中含有某值的元素
  • 例子:p[title]{} p[title=e]{} p[title^=e]{} p[title$=e]{} p[title*=e]{}
p[title] {
  color: orange;
}
p[title="e"] {
  color: orange;
}
p[title^="e"] {
  color: orange;
}
p[title$="e"] {
  color: orange;
}
p[title*="e"] {
  color: orange;
}
 

4. 复合选择器

交集选择器

  • 作用:选中同时复合多个条件的元素
  • 语法:选择器1选择器2选择器3选择器n{}
  • 注意点:交集选择器中如果有元素选择器,必须使用元素选择器开头
div.red {
  font-size: 30px;
}

.a.b.c {
  color: blue;
}
 

并集选择器(选择器分组)

  • 作用:同时选择多个选择器对应的元素
  • 语法:选择器1,选择器2,选择器3,选择器n{}
  • 例子:#b1,.p1,h1,span,div.red{}
h1,
span {
  color: green;
}
 

5. 关系选择器

  • 父元素:直接包含子元素的元素叫做父元素
  • 子元素:直接被父元素包含的元素是子元素
  • 祖先元素:直接或间接包含后代元素的元素叫做祖先元素;一个元素的父元素也是它的祖先元素
  • 后代元素:直接或间接被祖先元素包含的元素叫做后代元素;子元素也是后代元素
  • 兄弟元素:拥有相同父元素的元素是兄弟元素

子元素选择器(Child combinator)

  • 作用:选中指定父元素的指定子元素
  • 语法:父元素 > 子元素
  • 例子:A > B
div.box > p > span {
  color: orange;
}
 

后代元素选择器(Descendant combinator)

  • 作用:选中指定元素内的指定后代元素
  • 语法:祖先 后代
  • 例子:A B
div span {
  color: skyblue;
}
 

兄弟元素选择器(Sibling combinator)

  • 作用:选择下一个兄弟
  • 语法:前一个 + 下一个 前一个 + 下一组
  • 例子 1:A1 + A2(Adjacent sibling combinator)
  • 例子 2: A1 ~ An(General sibling combinator)
p + span {
  color: red;
}

p ~ span {
  color: red;
}
 

6. 伪类选择器

伪类(不存在的类,特殊的类)

伪类用来描述一个元素的特殊状态,比如:第一个子元素、被点击的元素、鼠标移入的元素.…

伪类一般情况下都是使用:开头

  • :first-child 第一个子元素
  • :last-child 最后一个子元素
  • :nth-child() 选中第 n 个子元素
    • n:第 n 个,n 的范围 0 到正无穷
    • 2n 或 even:选中偶数位的元素
    • 2n+1 或 odd:选中奇数位的元素

以上这些伪类都是根据所有的子元素进行排序的

  • :first-of-type 同类型中的第一个子元素
  • :last-of-type 同类型中的最后一个子元素
  • :nth-of-type() 选中同类型中的第 n 个子元素

这几个伪类的功能和上述的类似,不同点是他们是在同类型元素中进行排序的

  • :not()否定伪类,将符合条件的元素从选择器中去除
/* ul下所有li,黑色 */
ul > li {
  color: black;
}

/* ul下第偶数个li,黄色 */
ul > li:nth-child(2n) {
  color: yellow;
}

/* ul下第奇数个li,绿色 */
ul > li:nth-child(odd) {
  color: green;
}

/* ul下第一个li,红色 */
ul > li:first-child {
  color: red;
}

/* ul下最后一个li,黄色 */
ul > li:last-child {
  color: orange;
}
 

 

  • :link 未访问的链接
  • :visited 已访问的链接:hover 鼠标悬停的链接
    • 由于隐私的原因,所以visited这个伪类只能修改链接的颜色
  • :active 鼠标点击的链接
/* unvisited link */
a:link {
  color: red;
}

/* visited link */
a:visited {
  color: yellow;
}

/* mouse over link */
a:hover {
  color: green;
}

/* selected link */
a:active {
  color: blue;
}
 

 

7. 伪元素选择器

伪元素,表示页面中一些特殊的并不真实的存在的元素(特殊的位置)

伪元素使用::开头

  • ::first-letter 表示第一个字母
  • ::first-line 表示第一行
  • ::selection 表示选中的内容
  • ::before 元素的开始
  • ::after 元素的最后
  • ::before::after 必须结合content属性来使用
/* 段落首字母设置大小为30px */
p::first-letter {
  font-size: 30px;
}

/* 段落第一行设置为黄色背景 */
p::first-line {
  background-color: yellow;
}

/* 段落选中的部分变绿色 */
p::selection {
  background-color: green;;
}

/* div前加上内容 */
div::before {
  content: "BEFORE";
  color: red;
}

/* div后加上内容 */
div::after {
  content: "AFTER";
  color: blue;
}

 

标签:color,元素,选中,red,复建,选择器,css,属性
From: https://www.cnblogs.com/zhanshuang/p/18091572

相关文章

  • 15 分钟带你感受 CSS :has() 选择器的强大
    最近看到了许多关于:has()选择器的知识点,在此总结下来。MDN对:has()选择器的解释是这样的:CSS函数式伪类 :has() 表示一个元素,如果作为参数传递的任何相对选择器在锚定到该元素时,至少匹配一个元素。这个伪类通过把可容错相对选择器列表作为参数,提供了一种针对引用元......
  • CSS
    CSS【1】简介CSS的主要使用场景就是美化网页,布局网页的CSS是为了解决HTML美化网页的局限性CSS就是网页的美容师【2】HTML的局限性HTML在我看来就是一个非常单纯的家伙,他只关注内容的语义,比如定义某个段落,某张图片等等,单词使用html做出来的网页都有一个共同的特点,那就是......
  • CSS浮动
    浮动【1】传统网页布局的三种方式网页布局的本质就是用CSS来摆放一个个盒子。CSS提供了三种传统的布局方式(简单来说就是盒子的排列顺序)标准流浮动定位【2】标准流所谓标准流就是标签按照规定的默认方式排列一个块级元素独占一行,从上向下依次摆放常见块级元素:div,hr,......
  • CSS属性
    CSS字体属性【1】字体大小font-sizeCSS使用font-size属性定义字体大小px(像素)是网页最常用的单位每个浏览器都有自己的默认文字大小,谷歌浏览器为16px我们要尽量给字体指定一个明确的大小,以防万一。p{font-size:20px;}【2】字体粗细font-weightCSS使用font-we......
  • 什么是 CSS 工程化
    CSS工程化是为了解决以下问题:1、宏观设计:CSS代码如何组织、如何拆分、模块结构怎样设计?2、编码优化:怎样写出更好的CSS?3、构建:如何处理我的CSS,才能让它的打包结果最优?4、可维护性:代码写完了,如何最小化它后续的变更成本?如何确保任何一个同事都能轻松接手?以下三个方向......
  • CSS(二)
    一、CSS的复合选择器1.1什么是复合选择器在CSS中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。复合选择器可以更准确、更高效的选择目标元素(标签)复合选择器是由两个或多个基础选择器,......
  • HTML5抽奖转盘-CSS3超简单版本
     网上有很多关于抽奖转盘的代码和实例,有使用JavaScript控制动画的,有使用Canvas实现的,它们思路各不相同,本文将介绍一种采用CSS3的方式来实现转盘动画效果,非常简单,只需几行代码即可实现。 核心思路采用CSS3的transition(过渡效果),给定需要旋转的元素设置transform的rotate属性......
  • 【包邮送书】HTML5+CSS3从入门到精通
    欢迎关注博主Mindtechnist或加入【智能科技社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关注公粽号《机器和智能》回复关键词“python项目实战......
  • CSS 颜色与字体
    具体的可以去官方文档去查rgb或rgbacolor:rgb(255,255,255);color:rgba(255,255,255,0.7);rgba作用:具有透明效果,0完全透明,1不透明三原色数值越大,且数值一致,表现为灰色很淡HEX或HEXA表示p{color:rgb(#rrggbb);}前两位rr表示红,gg表示绿,bb表示蓝,01-ff(16进制)IE不......
  • CSS基础知识:css的尺寸是如何计算的,px和em的区别在哪里?
    讲解将以font-size为例font-size,元素内部文字的尺寸大小1.px:像素像素是什么意思呢?解释:在日常生活中不管是我们看到的电子图片,还是计算机的界面,实际上它是由很多很多的点组成的。那么如何理解呢?以咱们所用的电脑为例右键打开显示设置:                 ......