伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。...伪类的种类 伪元素的种类 区别 这里用伪类 :first-child 和伪元素 :first-letter 来进行比较。....first-child {color: red} first second 即我们给第一个子元素添加一个类...,然后定义这个类的样式。... 总结 伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。
定义 伪类 CSS 伪类 是添加到选择器的关键字,指定要选择的元素的特殊状态。 例如,:hover 可被用于在用户将鼠标悬停在按钮上时改变按钮的颜色。...区别 下面是一个简单的html列表片段: 我是第一个 我是第二个 如果想要给第一项添加样式,可以在为第一个 添加一个类,并在该类中定义对应样式... .first { font-size: 5em; } 如果不创建一个元素,我们可以通过设置的:first-letter伪元素来为其添加样式。... p:first-letter { font-size: 5em; } 从上述例子中可以看出,伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档数外的元素。...总结 1.伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息; 2.伪元素本质上是创建了一个有内容的虚拟容器; 3.CSS3中伪类和伪元素的语法不同; 4.可以同时使用多个伪类,而只能同时使用一个伪元素
大家好,又见面了,我是你们的朋友全栈君。...解决方案 这里有两个方案,使用rgba()间接的设定opacity的值,这个属性不会向下继承,或者既然opacity会被子级元素继承,那就把opacity属性放到同级元素实现,下面通过示例具体说说这两种方式...: 1.使用rgba()间接的设定opacity rgba()有四个参数,最后一个参数就是opacity的值,和opacity单独设定效果一样,但是这个是有background属性来控制的,background...opacity属性 子元素会继承父级元素的opacity属性 2.把opacity属性放到同级元素实现...opacity属性 子元素会继承父级元素的
CSS的选择器除了根据id、class、属性等从DOM中获取元素的以外,还有很重要的一类,用来获取元素的特别内容或特别状态,这就是 伪元素(Pseudo-elements) 和 伪类(Pseudo-classes...) [I] 伪元素 伪元素是对元素中的特定内容进行操作,选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作。...…、/\ 等辅助类字符,无法被正确处理成首字符,会和第一个“有效字符”连带处理 首字符前面不能有图片或者inline-table之类的元素存在 ::before也会参与到::first-letter的规则中...标签,对应的h2就会高亮 一些简单的tab切换等也可以在不借助js的情况下用:target实现了 [2.2] 用:not过滤掉不符合的元素 :not(x)括号中可以应用几乎所有的选择器语法 :not可以搭配其他伪类使用... p:not(#p1):not(#p3) {color: red;} [2.3] 根据索引选择元素 ==在*-child系列伪类中,索引是相对于所有同级兄弟元素计算的,而非特定类型== :first-child
前段时间我写过一篇:CSS中background属性总结 整理了background的常用属性。 在CSS3中 background-image 还有一个 gradient 属性——渐变。...background-image: linear-gradient(to right,red,blue); /*从左到右 由红到蓝渐变*/ 效果如下: 单向渐变:从一个角到另一个相对的角 background-image...: linear-gradient(to right top,red,blue); /*从左下角到右上角*/ 效果如下: 多色渐变:可以有多个颜色的值 background-image: linear-gradient...*/ 效果如下: 角度渐变:渐变倾斜的角度 background-image: linear-gradient(45deg,white,blue); /*角度45度 由白到蓝*/ 效果如下: 2、径向渐变...:radial-gradient 径向渐变:radial-gradient(shape形状,color1,color2......); 径向渐变的形状有2种:ellipse椭圆形(默认);和circle
大家好,又见面了,我是你们的朋友全栈君。...问题 css3中的opacity属性是用来设置 div 元素的不透明级别的,但是我们往往会遇到因为父级元素设定opacity后,子元素也跟着透明了,但是有时候我们只是想让背景是透明的,这该如何解决呢?...opacity属性 子元素会继承父级元素的opacity属性 这样我们得到的是无效的:...解决方案 这里有两个方案,使用rgba()间接的设定opacity的值,这个属性不会向下继承,或者既然opacity会被子级元素继承,那就把opacity属性放到同级元素实现,下面通过示例具体说说这两种方式...opacity属性 子元素会继承父级元素的opacity属性 效果如下: 发布者:全栈程序员栈长
left: 0; right: 0; top: 0; height: 2px; } 最近在看一篇文章,网站中有一个图标,鼠标划上去会出现一个彩色的小边...效果如下: www.w3h5.com 查看代码发现标签上有一个:hover,鼠标划入时添加一个:after伪类,给这个伪类设置背景渐变、绝对定位和高度,实现了这种“炫酷”的效果。...声明:本文由w3h5原创,转载请注明出处:《利用css中的伪类 给元素设置特殊样式效果》 https://www.w3h5.com/post/51.html
利用java8流的特性,我们可以实现list中多个元素的 属性求和 并返回。...案例: 有一个借款待还信息列表,其中每一个借款合同包括:本金、手续费; 现在欲将 所有的本金求和、所有的手续费求和。...我们可以使用java8中的函数式编程,获取list的流,再利用reduce遍历递减方式将同属性(本金、手续费)求和赋予给一个新的list中同类型的对象实例,即得到我们需要的结果: A a = list.stream
一、前言 前几天在帮助粉丝解决问题的时候,遇到一个简单的小需求,这里拿出来跟大家一起分享,后面再次遇到的时候,可以从这里得到灵感。...二、需求澄清 问题如下所示: 三、实现过程 这里【听风】一开始给了一个集合求差集的方法,差强人意。 不过并没有太满足要求,毕竟客户的需求是分别需要两个列表中不重复的元素。...后来【听风】又给了一个方法,如下所示: 这次是完全贴合要求了,代码运行之后,可以得到预期的效果: 这里再补充一个小知识点,提问如下图所示: 后来【听风】给了一个方法,如下图所示: 原来列表转df...是这样玩的,接下来你就可以把数据导出为Excel等其他格式了,不再赘述。...三、总结 大家好,我是皮皮。这篇文章主要盘点一个Python实用的案例,这个案例可以适用于实际工作中文件名去重等工作,感谢【听风】大佬给予耐心指导。
Dart是一门使用类和单继承的面向对象语言,所有的对象都是类的实例,并且所有的类都是Object的子类。 1. Dart类的定义 ? 2. Dart类的构造函数 ? 3....Dart中的命名构造函数 ? 4. Dart中将类抽离成一个单独的模块 首先将模块写到一个单独的文件中,如下图所示为public文件夹下的Person.dart为一个单独的类。 ?...Dart中的私有属性和私有方法 Dart和其他面向对象语言不一样,没有 public、private、protected这些访问修饰符,但是我们可以使用下划线把一个属性或者方法定义成私有。...需要注意的是,定义为私有属性和私有方法的类必须要抽离放在一个单独的文件中,然后才能真正起到私有的效果。 首先将含有私有属性或私有方法的类放在一个单独的模块中。 ?...在文件中引入含有私有属性和私有方法的类。 ? 6. Dart中get与set修饰符 ? 7. Dart中的初始化列表 Dart中可以在构造函数体运行之前初始化实例变量。 ?
此对象允许我们指定CSS属性并设置其值。...但是,这可能会使我们的标记变得非常混乱。浏览器渲染的性能也较差。 2、设置style属性–添加全局样式 另一种方法是将里带有CSS属性的元素注入DOM。...将在设置应用于一组元素而不仅仅是一个元素的样式时,这非常有用。 首先,我们将创建一个样式元素。...,如果我们想将.disableMenu 样式规则应用于此元素中,我们需要做的就是将disableMenu作为类值添加到dropDown元素: One Two Three Four Five Six...要将disableMenu类名添加到我们的dropDown元素,请在HTML元素的classList属性上使用add()方法:var theDropDown = document.querySelector
一、前言 接收到的需求:我们前端只需要id、name、gender,phone不需要给前端。 一开始想法直接重新写一个VO,属性里去掉phone,这样一下多了个文件,显然不是我们想要的!...> converter = fastConverter; return new HttpMessageConverters(converter); } 七、总结 这样就可以解决忽略某些属性不返回给前端展示了
我们可以简单地使用属性选择器来实现外部链接的自定义样式。 使用属性选择器 CSS 允许我们根据 HTML 元素的属性来设置样式,方法是将它们放在方括号中。....info 结尾 */ a[href$='.info'] { } /* 类中包含单词 'link' */ a[class~='link'] { } 此外,通过在结束括号前添加 s 或 i,我们可以控制它们是区分大小写还是不区分大小写地比较...: /* 区分大小写 */ a[href*='css-irl' s] { } /* 不区分大小写 */ a[href*='css-irl' i] { } 设置伪元素的样式 对于我们的外部链接,我们将通过设置伪元素的样式来附加一个图标...它使用 SVG 的固有尺寸。如果我们想将图标应用于任何外部链接,而不考虑字体大小(例如标题),我们可能更适合使用 background-image 属性。...我们需要将 content 属性设置为空字符串,否则伪元素不会渲染。我们还需要将 display 属性设置为 inline-block。 (注:我使用了自定义属性来简化图像 URL 的表示。)
是通过标签的style属性来设置元素的样式,其基本语法格式如下: 属性1:属性值1; 属性2:属性值2; 属性3:属性值3;"> 内容 语法中style是标签的属性...可以用段落 和 表格的对齐的演示。 ---- 选择器(重点) 要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。在CSS中,执行这一任务的样式规则部分被称为选择器(选择符)。...---- CSS基础选择器 ---- 标签选择器(元素选择器) 标签选择器是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。...其基本语法格式如下: 标签名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 或者 元素名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 标签选择器最大的优点是能快速为页面中同类型的标签统一样式...类选择器最大的优势是可以为元素对象定义单独或相同的样式。 可以选择一个或者多个标签 长名称或词组可以使用中横线来为选择器命名。 不建议使用“_”下划线来命名CSS选择器。
也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或是列表中的第一个元素,又或者是鼠标悬停在某个超链接上时要设置的样式。 什么是伪类,伪元素?...虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。 伪元素:用于创建一些不在文档树中的元素,并为其添加样式。...结构性伪类:是css3新增选择器,利用dom树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少class和id属性的定义,使文档结构更简洁。...(::) 而不是一个冒号 (:),这是 CSS3 规范中的一部分要求,目的是为了区分伪类和伪元素,大多数浏览器都支持这两种表示方式。...单冒号(:)用于 CSS3 伪类,双冒号(::)用于 CSS3 伪元素。对于 CSS2 中已经有的伪元素,例如 :before,单冒号和双冒号的写法 ::before 作用是一样的。
一般不写name属性,否则将“提交”两个字提交到服务器。 因为不同项目注册需要的字段不同,需要完成的案例中没有覆盖所有的表单元素,以下标签使用也需要大家掌握。...需要使用子标签指定列表项 n name属性:发送给服务器的名称 n multiple属性:不写默认单选,取值为“multiple”表示多选。...1.2.4 选择器 要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。...在CSS中,执行这一任务的样式规则部分被称为选择器,本小节将对CSS基础选择器进行详细地讲解,具体如下: 1.2.4.1 元素选择器 标记选择器是指用HTML标记名称作为选择器,按标记名称分类,为页面中某一类标记指定统一的...(英文点号)进行标识,后面紧跟类名,其基本语法格式如下: .类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 该语法中,类名即为HTML元素的class属性值,大多数HTML元素都可以定义
父节点的类名是 stream ,内容是一个文章列表。它的子节点的类名是 streamItem ,内容是文章列表中的一篇具体的文章。这使我们很容易的了解到父节点和子节点之间的关系。...使用组件的思想将会使你的代码解耦。解耦的代码越多,你的类之间的依赖就越低。这会让你的代码更容易修改,并且使你的代码更长时间的工作下去而不用修改它。...BEM 代表块(block)、元素(element)和修饰符(modifier)。Yandex,在俄罗斯的相当于谷歌的搜索引擎,为了解决他们 CSS 代码库中的缩放问题而提出了它(它指BEM)。...当单一功能原则应用于你的每一个 CSS 类选择器中时,这意味着每一个类选择器都有着唯一的功能。换句话说,要根据不同关注点将样式分离到不同的类选择器中。...我们可以将 splash 作为一个一般的全屏类,它可以拥有任何子节点。所有子节点关注的属性,都在 splash content 中,与父节点的属性是完全解耦的。
CSS 语法的特点: CSS 样式中的选择器严格区分大小写,而声明不区分大小写,按照书写习惯一般将选择器、声明都采用小写的方式 多个属性之间必须用英文状态下的分号隔开,最后一个属性后的分号可以省略,但是为了便于添加新的样式最好保留...CSS 基础选择器 要想将 CSS 样式表应用于特定的 HTML 标签,首先需要找到该目标元素。...在 CSS 中,执行这一任务的样式表规则被称为选择器 4.1 标签选择器 标签选择器是指用 HTML 标签名称为选择器,按标签名称分类,为页面中某一类标签指定统一的样式表,语法如下: 标签名{ 属性:...属性:属性值; } 案例: 代码: 运行结果: 4.4 通配符选择器 通配符选择器用 * 号表示,它是表示所有选择器中作用范围最广的,能匹配页面所有的元素,基本语法格式如下: *{ 属性:属性值;...属性:属性值; } 案例: 运行结果: 但是在实际的开发中不建议使用通配符选择器,因为通配符选择器设置的样式对所有的 HTML 标签都生效,不管标签是否需要该标签,这样反而减低了代码的执行速度。
CSS 基础 为什么存在 CSS? 随着 90 年代网络的普及,将特定设计应用于网站的意图也随之增强。...CSS 不仅仅可以用于修改文本的颜色、大小、字体等,还可以用来定义高度、宽度、内部和外部的边距、位置等。 我在哪里写 CSS?...为什么不直接在 HTML 中设置样式? 因为我们要把内容和其表示形式分开。这样做的好处显而易见。 首先是可阅读性变高了,有哪些元素,以及元素哪些属性一目了然,也利于分别维护和修改。...伪类选择器 HTML 元素可以具有不同的状态。最常见的情况是当您将鼠标悬停在链接上时。当此类事件发生时,CSS 中可能会应用不同的样式。...例如,链接( 标签)不继承该color属性。 CSS 优先级 一个 HTML 元素可以被多个 CSS 规则作为目标。
选择器(重点) 要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。在CSS中,执行这一任务的样式规则部分被称为选择器(选择符)。...标签选择器(元素选择器) 标签选择器是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。...其基本语法格式如下: 标签名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 或者 元素名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 标签选择器最大的优点是能快速为页面中同类型的标签统一样式...样式显示效果跟HTML元素中的类名先后顺序没有关系,受CSS样式书写的上下顺序有关。 2. 各个类名中间用空格隔开。 多类名选择器在后期布局比较复杂的情况下,还是较多使用的。...1:属性值1; 属性2:属性值2; 属性3:属性值3; } 该语法中,id名即为HTML元素的id属性值,大多数HTML元素都可以定义id属性,元素的id值是唯一的,只能对应于文档中某一个具体的元素。
领取专属 10元无门槛券
手把手带您无忧上云