首页 > 其他分享 >CSS学习记录13

CSS学习记录13

时间:2024-12-14 09:31:14浏览次数:4  
标签:13 记录 color 元素 选择 选择器 CSS first

CSS组合器

组合器是解释选择器之间关系的某种机制。CSS选择器可以包含多个简单选择器。在简单选择器之间,我们可以包含一个组合器。

CSS中有四种不同的组合器:

  • 后代组合器(空格)
  • 子选择器(>)
  • 相邻兄弟选择器(+)
  • 通用兄弟选择器(~)

后代选择器

后代选择器匹配属于指定元素后代的所有元素。下面的例子选择<div> 元素内的所有<p> 元素:

div p {
  background-color: yellow;
}

子选择器

子选择器匹配属于指定元素子元素的所有元素。下面的例子选择属于<div>元素子元素的所有<p>元素:

div > p {
  background-color: yellow;
}

相邻兄弟选择器

相邻兄弟选择器匹配所有作为指定元素的相邻同级的元素。兄弟(同级)元素必须具有相同的父元素,“相邻”的意思是“紧随其后”。下面的例子选择紧随<div>元素之后的所有<p> 元素:

div + p {
  background-color: yellow;
}

通用兄弟选择器

通用兄弟选择器匹配属于指定元素的统计元素的所有元素。下面的例子选择属于<div>元素的统计元素的所有<p>元素:

div ~ p {
  background-color: yellow;
}

 CSS伪类

伪类用于定义元素的特殊状态。例如,它可以用于:

  • 设置鼠标悬停在元素时的样式
  • 为已访问和未访问链接设置不同的样式
  • 设置元素获得焦点时的样式

伪类的语法

selector:pseudo-class {
  property: value;
}

锚伪类

链接能够以不同的方式显示:

/* 未访问的链接 */
a:link {
  color: #FF0000;
}

/* 已访问的链接 */
a:visited {
  color: #00FF00;
}

/* 鼠标悬停链接 */
a:hover {
  color: #FF00FF;
}

/* 已选择的链接 */
a:active {
  color: #0000FF;
}

注意:a:hover 必须在CSS定义中的 a:link 和 a:visited 之后,才能生效! a:active 必须在CSS定义中的a:hover 之后才能生效!伪类名称对大小写不敏感。

伪类和CSS类

伪类可以与CSS结合使用:当您将鼠标悬停在例子中的链接上时,它会改变颜色:

a.highlight:hover {
  color: #ff0000;
}

悬停在<div>上

在<div>元素上使用:hover伪类的实例:

div:hover {
  background-color: blue;
}

简单的工具提示悬停

把鼠标悬停到<div>元素以显示<p>元素(类似工具提示的效果):

p {
  display: none;
  background-color: yellow;
  padding: 20px;
}

div:hover p {
  display: block;
}

CSS:first-child伪类

 :first-child伪类与指定的元素匹配:该元素时另一个元素的第一个子元素。在下面的例子中,选择器匹配作为任何元素的第一个子元素的任何<p>元素:

p:first-child {
  color: blue;
}

匹配所有<p>元素中的首个<i>元素

 在下面的例子中,选择器匹配所有<p>元素的第一个<i>元素:

p i:first-child {
  color: blue;
}

匹配所有首个<p>元素中的所有<i>元素

在下面的例子中,选择器匹配作为另一个元素的第一个子元素的<p>元素中的所有<i>元素:

p:first-child i {
  color: blue;
}

CSS - :lang伪类

:lang伪类允许您为不同的语言定义特殊的规则。在下面的例子中,:lang为属性为lang="en"的<q>元素定义引号:

  q:lang(en) {
            quotes: "~" "~";
        }

所有CSS伪类 

选择器例子例子描述
:activea:active选择活动的链接。
:checkedinput:checked选择每个被选中的 <input> 元素。
:disabledinput:disabled选择每个被禁用的 <input> 元素。
:emptyp:empty选择没有子元素的每个 <p> 元素。
:enabledinput:enabled选择每个已启用的 <input> 元素。
:first-childp:first-child选择作为其父的首个子元素的每个 <p> 元素。
:first-of-typep:first-of-type选择作为其父的首个 <p> 元素的每个 <p> 元素。
:focusinput:focus选择获得焦点的 <input> 元素。
:hovera:hover选择鼠标悬停其上的链接。
:in-rangeinput:in-range选择具有指定范围内的值的 <input> 元素。
:invalidinput:invalid选择所有具有无效值的 <input> 元素。
:lang(language)p:lang(it)选择每个 lang 属性值以 "it" 开头的 <p> 元素。
:last-childp:last-child选择作为其父的最后一个子元素的每个 <p> 元素。
:last-of-typep:last-of-type选择作为其父的最后一个 <p> 元素的每个 <p> 元素。
:linka:link选择所有未被访问的链接。
:not(selector):not(p)选择每个非 <p> 元素的元素。
:nth-child(n)p:nth-child(2)选择作为其父的第二个子元素的每个 <p> 元素。
:nth-last-child(n)p:nth-last-child(2)选择作为父的第二个子元素的每个<p>元素,从最后一个子元素计数。
:nth-last-of-type(n)p:nth-last-of-type(2)选择作为父的第二个<p>元素的每个<p>元素,从最后一个子元素计数
:nth-of-type(n)p:nth-of-type(2)选择作为其父的第二个 <p> 元素的每个 <p> 元素。
:only-of-type(n)p:only-of-type选择作为其父的唯一 <p> 元素的每个 <p> 元素。
:only-childp:only-child选择作为其父的唯一子元素的 <p> 元素。
:optionalinput:optional选择不带 "required" 属性的 <input> 元素。
:out-of-rangeinput:out-of-range选择值在指定范围之外的 <input> 元素。
:read-onlyinput:read-only选择指定了 "readonly" 属性的 <input> 元素。
:read-writeinput:read-write选择不带 "readonly" 属性的 <input> 元素。
:requiredinput:required选择指定了 "required" 属性的 <input> 元素。
:rootroot选择元素的根元素。
:target#news:target选择当前活动的 #news 元素(单击包含该锚名称的 URL)。
:validinput:valid选择所有具有有效值的 <input> 元素。
:visiteda:visited选择所有已访问的链接。

:nth-child(n) 和 :nth-of-type的区别 

:nth-child(n)会根据元素在器父元素是中的位置选择元素。它会选择所有的子元素,不论类型是什么。

:nth-of-type(n)时根据元素的类型在其父元素中的位置选择元素。它只会选择指定类型的元素。

  • :nth-child(n) 关注位置,不论元素类型;
  • :nth-of-type(n) 专注于元素类型在同类型元素中的位置。

 CSS伪元素

css伪元素用于设置元素指定部分的样式。

例如,它可用于:

  • 设置元素的首字母、首行的样式
  • 在元素的内容之前或之后插入内容

语法

伪元素的语法:

selector::pseudo-element {
  property: value;
}

:first-line 伪元素

:first-line伪元素用于向文本的首行添加特殊样式。下面的例子为所有<p>元素中的首行添加样式:

p::first-line {
  color: #ff0000;
  font-variant: small-caps;
}

注意:::first-line伪元素只能应用于块级元素。

以下属性适用于::first-line伪元素:

  • 字体属性
  • 颜色属性
  • 背景属性
  • word-spacing
  • letter-spacing
  • text-decoration
  • vertical-align
  • text-transform
  • line-height
  • clear

请注意双冒号表示法 - ::first-line 对比 :first-line。 在CSS3中,双元素取代了伪元素的单冒号表示法。这是W3C试图区分伪类和伪元素的尝试。在CSS2和CSS1中,伪类和伪元素都使用了单冒号语法。为了向后兼容,CSS2和CSS1伪元素可接受单冒号语法。

::first-letter 伪元素

::first-letter 伪元素用于向文本的首字母添加特殊样式。下面的例子设置所有<p>元素中文本的首字母格式:

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

注意:::first-letter伪元素只适用于块级元素。

下面的属性适用于 ::first-letter 伪元素:

  • 字体属性
  • 颜色属性
  • 背景属性
  • 外边距属性
  • 内边距属性
  • 边框属性
  • text-decoration
  • vertical-align(仅当 "float" 为 "none")
  • text-transform
  • line-height
  • float
  • clear

伪元素和CSS类

伪元素可以与CSS类结合使用:

p.intro::first-letter {
  color: #ff0000;
  font-size: 200%;
}

多个伪元素

也可以组合几个伪元素。

在下面的例子中,段落的第一个字母将是红色,字体大小为xx-large。第一行的其余部分将变成蓝色,并使用小型大写字母。该段的其余部分将是默认的字体大小和颜色:

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

p::first-line {
  color: #0000ff;
  font-variant: small-caps;
}

CSS - ::before伪元素

::before 伪元素可用于在元素内容之前插入一些内容。

下面的例子在每个<h1>元素的内容之前插入一副图像:

h1::before {
  content: url(smiley.gif);
}

CSS- ::after伪元素

::after伪元素可用于在元素内容之后插入一些内容。

h1::after {
  content: url(smiley.gif);
}

CSS-::selection 伪元素

::selection 伪元素匹配用户选择的元素部分。

以下 CSS 属性可以应用于::selection:

  • color
  • background
  • cursor
  • outline
::selection {
  color: red; 
  background: yellow;
}

 所有CSS伪元素

选择器例子例子描述
:afterp::after在每个 <p> 元素之后插入内容。
:beforep::before在每个 <p> 元素之前插入内容。
:first-letterp::first-letter选择每个 <p> 元素的首字母。
:first-linep::first-line选择每个 <p> 元素的首行。
:Selectionp::selection选择用户选择的元素部分。

标签:13,记录,color,元素,选择,选择器,CSS,first
From: https://blog.csdn.net/cwtlw/article/details/144458615

相关文章

  • HTML静态网页成品作业(HTML+CSS)—— 节日母亲节介绍网页(5个页面)
    ......
  • css变量受哪些影响?
    CSS变量(也称为CSS自定义属性,使用--variable-name语法)的值会受到多种因素的影响,主要包括:声明顺序:CSS变量的继承遵循CSS的级联规则。后声明的变量会覆盖前声明的变量。如果一个选择器中多次声明同一个变量,则最后一次声明的值生效。继承:CSS变量不会像普......
  • 怎样在@keyframes中使用CSS变量
    在@keyframes中使用CSS变量,需要在@keyframes内部引用这些变量。直接使用变量名即可,前提是这些变量已经在你的CSS样式表中定义。以下是一些例子,展示了如何在@keyframes中有效地使用CSS变量:方法一:直接在@keyframes中使用变量这是最直接的方法,假设你已经定义了CS......
  • 怎样在SVG中使用css变量?
    在SVG中使用CSS变量(也称为CSS自定义属性)的方法与在HTML中使用它们非常相似,但有一些细微的差别需要注意。主要方法是通过style元素或内联样式来定义和使用变量。方法一:使用<style>元素这是推荐的方法,因为它可以更好地组织你的CSS代码,并提高可维护性。<svgw......
  • php网站怎么修改css样式,全面指南
    修改PHP网站的CSS样式可以显著改善用户体验和视觉效果。以下是详细的步骤和建议:定位CSS文件:找到网站使用的CSS文件,通常位于/css或/styles目录下。示例:/css/style.css编辑CSS文件:使用代码编辑器(如VSCode、SublimeText)打开CSS文件。根据需要修改CSS规则,调整样式属性......
  • 2.12、收集表单数据 2.13、过滤器
    需求:收集以下表单的数据<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><title>表单数据的收集</title><scriptsrc="../js/vue.js"></script></head><b......
  • 读数据保护:工作负载的可恢复性13一致性模型
    1. 一致性模型1.1. 数据库与其他东西相比,还有一个很重要的区别就在于,它们需要通过某种机制来确保数据一致,对于运行在多个节点上的数据库来说,这尤其重要1.1.1. 一致性模型(consistencymodel)1.2. 立即一致性1.2.1. 立即一致性(immediateconsistency)也叫强一致性(s......
  • 代码随想录训练营第十六天| 513. 找树左下角的值 112. 路径总和 106.从中序与后序遍历
    513.找树左下角的值 题目链接:513.找树左下角的值-力扣(LeetCode)讲解链接:代码随想录 求最后一行最后一个左子节点的值就是求二叉树深度最大的叶子节点递归:确定递归函数的参数和返回值参数必须有要遍历的树的根节点,还有就是一个int型的变量用来记录最长深度。这里......
  • 145. 大学生HTML期末大作业 ―【垃圾分类环境保护网页】 Web前端网页制作 html+css+js
    目录一、更多推荐二、网页简介三、网页文件四、网页效果五、代码展示1.html2.CSS3.JS六、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强七、更多推荐一、更多推荐欢迎来到我的CSDN主页!Web前端网页制作、大学生期末大作业、课程设计、毕业设计、......
  • 使用HTML和CSS实现文字镂空效果的代码示例
    文字镂空效果通常是指文字的某些部分是透明的,可以通过HTML和CSS中的text-shadow属性来实现。下面是主机邦收集的一个简单的示例,展示了如何使用text-shadow属性来创建文字的镂空效果:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"conten......