首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第91天:CSS3 属性选择器、伪类选择器和伪元素选择器

字符并且在“开始”位置; div[class^=mydemo] 5、E[attr$=val] 表示的属性值里包含val字符并且在“结束”位置;   div[class$=demos] 二、伪类选择器...1、以某元素相对于其父元素或兄弟元素的位置来获取无素的结构伪类。 重点理解通过E来确定元素的父元素。...,从这个元素的最后一个子元素开始算; :nth-of-type()  选择指定的元素; :nth-last-of-type()  选择指定的元素,从元素的最后一个开始计算; :first-of-type...E::selection 可改变选中文本的样式; ":" 与 "::" 区别在于区分伪类和伪元素 关于before和after       CSS2中 E:before或者E:after,是属于伪类的...,并且没有伪元素的概念       CSS3中 提出伪元素的概念 E::before和E::after,并且归属到了伪元素当中,伪类里就不再存在E:before或者   E:after伪类;

1.6K30

解决margin-top塌陷,实现子元素动态改变父元素尺寸1.伪类解决margin-top塌陷:2.浮动子元素动态改变父元素宽度:

1.伪类解决margin-top塌陷: 如果两个不浮动的盒子相互嵌套,对内部的盒子设置margin-top会导致属性被自动转移到外部的盒子上,导致内部盒子的margin-top设置失败最靠谱的解决方式是为父元素添加一个伪类...: /*伪类解决margin-top塌陷*/ .clearfix:before{ content:""; display: table; } ?...height:50px; background-color: gold; margin-top: 50px; } /*伪类解决... 2.浮动子元素动态改变父元素宽度...: 在设计网页布局时,为了便于快速布局,会将子元素设为浮动元素,父元素宽度设为固定,高度不设置,这样随着子元素的添加,父元素的高度就会动态变化,但尴尬的是,浮动子元素并不能"撑开父元素的高度",于是为父元素增加伪类便成了解决这种尴尬局面最好的方式

1.7K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    26 个 CSS 面试的高频考点助力金三银四

    它根据其ID,类和名称选择 HTML元素。 属性–属性是 HTML 标签的一种属性。 简而言之,所有 HTML 属性都转换为 CSS 属性。 值– CSS中的值定义CSS属性的一组有效值。...CSS 中有四类可以授权选择器的特异性级别: 内联样式 ID 类,属性和伪类 元素和伪元素 问题12:CSS有什么缺点 CSS的缺点有: 版本太多 – 与HTML或Javascript等其他参数相比,...我们必须将给定图标类的名称添加到任何内联HTML元素中。 (或)。 图标库中的图标是可缩放的矢量,可以使用CSS进行自定义。 问题 18:哪个属性指定边框的宽度?...问题 20:如何在CSS中定义一个伪类?它们是用来干什么的 CSS伪类是用来添加一些选择器的特殊效果。...伪类的语法 selector:pseudo-class{property:value;} 问题 21:CSS和SCSS有什么区别?

    2K20

    【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(二)

    当多条选择器声明匹配到同一元素时,各类选择器优先级由高到低顺序为:内联样式 > id > class > tag。 2.6 -> 伪类 css伪类是选择器中的关键字,用于指定要选择元素的特殊状态。...除了单个伪类之外,还支持伪类的组合,例如,:focus:checked状态可以用来设置元素的focus属性和checked属性同时为true时的样式。...支持的单个伪类如下表所示,按照优先级降序排列: 名称 支持组件 描述 :diaabled 支持disabled属性的组件 表示disabled属性变为true时的元素(不支持动画样式的设置)。...伪类示例如下,设置按钮的:active伪类可以控制被用户按下时的样式: /* index.css */ .button:active { background-color: #888888;/*按钮被激活时,背景颜色变为#888888 */ } 说明 针对弹窗类组件及其子元素不支持伪类效果

    4500

    5个实用的CSS技巧

    :where() 伪类函数 上面的代码可以用:where() 伪类函数优化为 :where() 伪类函数 上面的代码可以用:where() 伪类函数优化为 Conic gradients(圆锥渐变...❝CSS aspect-ratio属性可以明确元素的高宽比例,日后一定是一个高频使用的CSS属性。...现在有了aspect-ratio属性,开发者对于元素比例的控制就非常容易实现了。...在传统的固定宽度的布局下,我们会通过给图片设定具体的宽度和高度值,来保证我们的图片占据区域稳固;但是在移动端或者在响应式开发情况下,图片最终展现的宽度很可能是不确定的,例如手机端的一个通栏广告,iPhone7...❝banner图可能是按照比例设置的,这时候如何按照比例固定图片呢,利用padding来做,因为padding的百分比是参照宽度的 ❞ Scss variables and Mixins ❝mixin可以让你制作一些你想在整个网站上重复使用的

    64620

    重温前端-css篇

    第三等:代表类,伪类和属性选择器,如.content,权值为0010。 第四等:代表类型选择器和伪元素选择器,如div p,权值为0001。 通配符、子选择器、相邻选择器等的。...⽤于将特殊的效果添加到某些选择器 伪类与伪元素的区别 表示⽅法 CSS2 中伪类、伪元素都是以单冒号:表示, CSS2.1 后规定伪类⽤单冒号表示,伪元素⽤双冒号::表示, 浏览器同样接受 CSS2 时代已经存在的伪元素...浏览器对以:开头的伪元素也继续⽀持,但建议规范书写为::开头 定义不同 伪类即假的类,可以添加类来达到效果 伪元素即假元素,需要通过添加元素才能达到效果 总结: 伪类和伪元素都是⽤来表示⽂档树以外的”元素...伪类和伪元素的区别,关键点在于如果没有伪元素(或伪类), 是否需要添加元素才能达到效果,如果是则是伪元素,反之则是伪类 伪类和伪元素都不出现在源⽂件和DOM树中。...伪元素能够创建在DOM树中不存在的抽象对象,⽽且这些抽象对象是能够访问到的。

    83430

    关于 CSS 反射倒影的研究思考

    这在创建反射的loader元素的伪类上使用是安全的,因此我们不用创建额外的元素。 好吧,让我们看看如何操作。首先给 loader 元素一个 id 。...我们需要记住应用渐变遮罩的伪类已经通过 scaleY(-1) 属性镜像过来了,这意味着渐变遮罩的底部在视觉上是顶端。因此渐变是从顶部(视觉下端)的完全透明到底部(视觉上端)的 .7 。...第一个问题就是反射在伪类的边界处被切断。...我们可以通过增加 loader 元素的尺寸来修复这一问题(伪类元素不受影响): SCSS $loader-w: ($n + 1) * $bar-w + $bar-h; 但是我们对于其余的两个问题就束手无策了...虽然使用 :reflection 伪类元素 看上去很合理,但是我曾经确信我不想使用额外的元素制作反射。但是现在有比不用插入额外元素更让我喜欢的事情。

    2.5K90

    为什么我们不擅长 CSS

    如果我们想更改我们的品牌颜色用于背景的值,我们可以更改一个标记,将其应用于不同的组件,而无需查找 与其让开发人员访问所有令牌,不如将它们抽象到我们的类中,开发人员可以根据不同的上下文使用相应的类。...,以便从我们的设计系统中提供一些常见的默认值。...在大屏幕上,我们使用自定义属性来覆盖图像的宽度。...因此,我们的 --width 属性实际上是设置了最大宽度,而宽度和高度都设置为自动,由图片的宽高比来决定。为了补偿这一点,我在文本容器中内联添加了一个 align-self: center。...: center; } } 我已经将它包含在一个 :where() 伪类函数中,以将其特异性降低到零,这样你就可以在需要时使用另一个工具类来覆盖任何子元素的底部外边距。

    20210

    面试题整理|45个CSS面试题

    1、无法通过选择器升序 2、垂直控制的局限性 3、没有表情 4、没有列声明 5、伪类不受动态行为的控制 6、规则,样式,无法定位特定文本 Q8、列举一些CSS框架?...ID选择器的标志符是散列符号(#) 2) Class:CLASS属性允许向一组在CLASS属性上具有相同值的元素应用声明。BODY内的所有元素都有CLASS属性。类选择器以标志符(句点)开头。...3、类、属性和伪类 – 此类别包括 .classes、[attributes] 和伪类,例如::hover、:focus 等。...4、元素和伪元素 – 此类别包括元素名称和伪元素,比如 h1、div、:before 和 :after。 Q29.CSS中字体相关的属性有哪些?...SCSS其语法完全兼容CSS3,并且继承了SCSS的强大功能。由于SCSS是CSS的扩展,因此所有在CSS中正常工作的代码也能在SCSS中正常工作。

    4.5K30

    30道CSS 面试知识点总结

    它根据其ID,类和名称选择 HTML元素。 属性–属性是 HTML 标签的一种属性。 简而言之,所有 HTML 属性都转换为 CSS 属性。 值– CSS中的值定义CSS属性的一组有效值。...CSS 中有四类可以授权选择器的特异性级别: 内联样式 ID 类,属性和伪类 元素和伪元素 问题12:CSS有什么缺点 CSS的缺点有: 版本太多 – 与HTML或Javascript等其他参数相比,CSS...我们必须将给定图标类的名称添加到任何内联HTML元素中。 (或)。 图标库中的图标是可缩放的矢量,可以使用CSS进行自定义。 问题 18:哪个属性指定边框的宽度?...问题 20:如何在CSS中定义一个伪类?它们是用来干什么的 CSS伪类是用来添加一些选择器的特殊效果。...伪类的语法 selector:pseudo-class{property:value;} 问题 21:CSS和SCSS有什么区别?

    1.4K20

    如何提升CSS技术?8个硬核技巧带你迅速提升CSS技术

    :link 未访问的链接元素 1 × :visited 已访问的链接元素 1 × :target 当前锚点的元素 3 × :focus 输入聚焦的表单元素 2 √ :required 输入必填的表单元素...此时会引入伪元素这个概念解决上述问题。正是伪元素能解决一些可不添加其他标签而起到占位作用,笔者才称伪元素为“添油加醋”。 上述选择器分类有提及伪元素,狭义上来说选择器除了伪元素,其他都是伪类。...伪元素和伪类虽然都是选择器,但它们还是存在一丝丝的差别。...随着CSS改革,伪元素的前缀被修改成双冒号语法,:before/:after从此变成::before/::after,用来区分伪类,未提及的伪元素同理。...两者最主要的区别就是伪类使用单冒号语法,伪元素使用双冒号语法。当然笔者还是提倡同学们使用单冒号语法标记伪类,使用双冒号语法标记伪元素,这样在代码形式上就能一眼区分出来。

    2.2K40

    8个硬核技巧带你迅速提升CSS技术

    :link 未访问的链接元素 1 × :visited 已访问的链接元素 1 × :target 当前锚点的元素 3 × :focus 输入聚焦的表单元素 2 √ :required 输入必填的表单元素...此时会引入伪元素这个概念解决上述问题。正是伪元素能解决一些可不添加其他标签而起到占位作用,笔者才称伪元素为“添油加醋”。 上述选择器分类有提及伪元素,狭义上来说选择器除了伪元素,其他都是伪类。...伪元素和伪类虽然都是选择器,但它们还是存在一丝丝的差别。...起初伪元素的前缀使用「单冒号语法」。随着CSS改革,伪元素的前缀被修改成「双冒号语法」,:before/:after从此变成::before/::after,用来区分伪类,未提及的伪元素同理。...两者最主要的区别就是伪类使用「单冒号语法」,伪元素使用「双冒号语法」。当然笔者还是提倡同学们使用「单冒号语法」标记伪类,使用「双冒号语法」标记伪元素,这样在代码形式上就能一眼区分出来。

    2.8K30

    细说移动端 经典的REM布局 与 新秀VW布局

    单边边框比较简单,本质是在目标元素上加个伪类,设置宽度(左|右边框)或高度(上|下边框)为1px,然后在高清屏幕下对齐进行缩放 transform-origin: 0 0; transform: scaleY...要让伪类支持设置多边边框,已经不能仅仅使用宽度或高度,而应该在这个伪类上设置多边边框,然后设置dpr倍的宽高,再进行缩放(自左上方) width: 200%; height: 200%; transform-origin...边框圆角一般作用于多边边框,使用了伪类设置边框之后,元素本身并没有边框,所以我们需要对伪类设置圆角,此外,也需要对元素本身设置圆角 否则就会出现这种尴尬的情况 ? ?...为了能够看到伪类的边框,伪类将会被置于元素上方,如此便导致了元素被覆盖不可点击,这个css属性就解除了这个障碍。...从效果图能够看出,美中不足是无法设置容器最大最小宽度,vw是根据设备宽度进行计算的,所以无法解决。 五、REM + VW布局 讲的太乱了?

    12.1K42

    CSS实用技巧第一讲:文字处理

    ,现在在很多古籍、牌坊、石碑等上面依旧可以看到从右至左的文字。...css也可以调整文本排版方向,是通过什么属性控制的呢? writing-mode 属性定义了文本在水平或垂直方向上如何排布。...off */ -webkit-box-orient: vertical; /* autoprefixer: on */ } image.png 注意 使用文本溢出处理时,容器一定要定义宽度...// 具体某个选择器下 文本选择样式 .special::selection { background-color: #00b7a3; } image.png 总结 有空把CSS3及其选择器和伪元素伪类等知识点复习一遍...多使用Chrome的DevTools来调试CSS,提示式的填值能发现很多有趣的属性。多尝试不同的方式实现相同功能,多实践。项目中多试用CSS的新特性,不要总是被低版本浏览器束缚着,这样也一直难以进步。

    1K41

    移动端重构实战系列5——form元素

    以电话为例,既可以手动在input框输入,也可以点击右边的箭头去通讯录选择,所以单纯的复制line list过来是行不通的,下面从html及scss代码简单分析下。...从html结构上,大体分为三列,分别为label,表单元素及右边附加部分 .form-item label.item-label .item-field input...-- 右边部分 --> 而scss主要是flex布局,设置中间输入元素部分为flex:1; .form-item{ display: flex; // flex布局,子元素垂直居中 align-items...,通过伪元素after设置content,而ok的则通过伪元素after绘制,为了达到和前面三个一样的粗细,使用了transform的scale search demo见sheral search 主要说下第二个搜索框...对于某些低端浏览器兼容问题,包裹了一层.range-wrap,通过包裹的伪元素生成range的trace

    91050

    Sass速通(二):嵌套与作用域

    #content #article h1 { color: red; } #content #article p { color: grey; } 在编译时,Sass 会递归遍历所有嵌套关系,从最内层选择器开始...父选择器 & 在 CSS 中,基本选择器分为以下几种: ID 选择器,如 #id 类选择器,如 .class 标签选择器,如 div、p 属性选择器,如 [lang='en'] 伪类选择器,如 a:hover...、div:first-child 伪元素选择器,如 p::before、p::after 其中,伪类和伪元素选择器需要与别的选择器复合使用,以确定是哪些元素的伪类或伪元素。...变量作用域 在 Sass 中,变量只能在它被声明的层级和子层级访问;如果一个变量在不同层级中被重复定义,在使用时会从下到上寻找最近的定义。这与 JS 中的函数作用域相似。...width: $width / 2; } } 编译后 .inner { width: 10px; } .inner p { width: 5px; } 如果变量仅在子级被定义,而在父级被访问

    1.6K20

    CSS 自定义属性变量 (variables)

    和其他属性一样,自定义属性也是写在规则集之内的,如下:element { --main-bg-color: brown;}所定义自定义属性需要在其可见作用域内(即被嵌套的标签内使用),通常的最佳实践是定义在根伪类...:root 下,这样就可以在 HTML 文档的任何地方访问到它了::root { --main-bg-color: brown;}相关知识点var() 函数var()函数可以代替元素中任何属性中的值...这意味着如果在一个给定的元素上,没有为这个自定义属性设置值,在其父元素上的值会被使用。...无效情况:先会检查属性 color 是否为继承属性,如果不是则将该值设置为它的默认初始值。:root 伪类:root 这个 CSS 伪类匹配文档树的根元素。...;使用不同于CSS,声明变量以“插值”的形式使用,并且不但可以表示为数值,文本嵌入表达式,还可以作为类名、属性名等。

    20310

    移动端重构实战系列5——form元素

    以电话为例,既可以手动在input框输入,也可以点击右边的箭头去通讯录选择,所以单纯的复制line list过来是行不通的,下面从html及scss代码简单分析下。...从html结构上,大体分为三列,分别为label,表单元素及右边附加部分 .form-item label.item-label .item-field input...-- 右边部分 --> 而scss主要是flex布局,设置中间输入元素部分为flex:1; .form-item{ display: flex; // flex布局,子元素垂直居中 align-items...,通过伪元素after设置content,而ok的则通过伪元素after绘制,为了达到和前面三个一样的粗细,使用了transform的scale search demo见sheral search 主要说下第二个搜索框...对于某些低端浏览器兼容问题,包裹了一层.range-wrap,通过包裹的伪元素生成range的trace

    36020

    移动端重构实战系列5——form元素

    以电话为例,既可以手动在input框输入,也可以点击右边的箭头去通讯录选择,所以单纯的复制line list过来是行不通的,下面从html及scss代码简单分析下。...从html结构上,大体分为三列,分别为label,表单元素及右边附加部分 .form-item label.item-label .item-field input...-- 右边部分 --> 而scss主要是flex布局,设置中间输入元素部分为flex:1; .form-item{ display: flex; // flex布局,子元素垂直居中 align-items...,通过伪元素after设置content,而ok的则通过伪元素after绘制,为了达到和前面三个一样的粗细,使用了transform的scale search demo见sheral search 主要说下第二个搜索框...对于某些低端浏览器兼容问题,包裹了一层.range-wrap,通过包裹的伪元素生成range的trace

    37810
    领券