于是就有了这个问题和如下的一连串问题。 .最外层父元素{height:auto;background:url(.....本来想用css3的background-image属性的多个背景图的功能,可是想想还要兼容ie就很烦 于是利用了css的伪类选择器来完成这一巨大的使命。...我想了想,清除浮动时,虽然也用了after伪类,但他在正常的clearfix类里边还设置了*zoom:1;*overflow:hidden;这个万能的iebug调试法,我这里也试下看行不?...后来考虑到content不能为空,但我又不需要内部的文字,于是就用了一个color等于背景色,算是障眼法把。 这算其中一个解决方法,另外css3的多层背景图的方法可以按照w3c文档一步一步来。...第三种解决方法,是给结构加空节点,然后给背景图,通过调试也可以实现。就不多话。 但我觉得最好的方法还是用css好,不过针对ie下伪类不能用的问题,网上还是有很多教程说明,让引入js文件来解决的。
居中描边特性的应用 text-stroke的居中描边特性,本质上让真实文本的字重削弱了,例如文字在页面上渲染时候,线条粗细大概是1像素,这时候我们设置个1像素宽的描边,则真实显示粗细岂不是只剩下0.5像素...由于鄙人的显示器屏幕密度有限,为1,最小显示单位为1像素,所以,如果要想小数大小的描边效果生效,就需要特殊的文字边缘渲染算法进行视觉上的处理,而由于字符线条切线角度往往是不规则多变的,这就导致细节渲染上无法尽善尽美...,于是视觉上会有某县线条位置会有“狗啃”的感觉。...如果设计师对外描边效果比较苛刻,可以使用-webkit-text-stroke描边文字和非描边文字相互重叠覆盖的方法模拟,技巧就在于-webkit-text-stroke描边文字的描边宽度要是要实现的外描边效果宽度的...四、-webkit-text-stroke与多重描边效果 text-shadow属性值可以不断累加,但是text-stroke属性却不行,如果想要实现多重描边效果,可以借助伪元素多层叠加模拟。
伪类与CSS伪对象的区别 CSS引入伪类和伪元素的概念是为了描述一些现有CSS无法描述的东西,根本区别在于:它们是否创造了新的抽象元素; 伪类:描述了所有逻辑上存在但在文档树中无须标识的分类; 伪对象:...代表了某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中; 8、请简述CSS的权重规则 行内样式 > ID > 属性选择器/class类/伪类选择器 > 元素名/伪对象选择器; 关系选择器将拆分为两个选择器再计算权重...相同: 改变行内元素的呈现方式,display被置为block 让元素脱离普通流,不占据空间 默认会覆盖到非定位元素上 区别: absolute的”根元素“是可以设置的,而fixed...,媒体查询,多栏布局,多背景rgba,引入伪元素::selection。...如果使用@import方式对CSS进行导入,会导致某些页面在windows下的IE出现一些奇怪的现象: 以无样式显示页面内容的瞬间闪烁,这种现象被称为文档样式短暂失效,简称FOUC 原理:当样式表晚于结构性
,渲染的时候不占据任何空间;visibility: hidden;不会让元素从渲染树消失,渲染师元素继续占据空间,只是内容不可见 display: none;是非继承属性,子孙节点消失由于元素从渲染树消失造成...当使用 @import 导入 CSS 时,会导致某些页面在 IE 出现奇怪的现象: 没有样式的页面内容显示瞬间闪烁,这种现象称为“文档样式短暂失效”,简称为FOUC 产生原因:当样式表晚于结构性html...等待此样式表被下载和解析后,再重新渲染页面,期间导致短暂的花屏现象。 解决方法:使用 link 标签将样式表放在文档 head 介绍使用过的 CSS 预处理器?...在 CSS 中伪类一直用 : 表示,如 :hover, :active 等 伪元素在CSS1中已存在,当时语法是用 : 表示,如 :before 和 :after 后来在CSS3中修订,伪元素用 ::...是 CSS3 中写伪元素的新语法; :after 是 CSS1 中存在的、兼容IE的老语法 如何修改Chrome记住密码后自动填充表单的黄色背景?
:focus-in 伪类 如果该元素包含任何具有 :focus 的子元素,则 :focus-within 会选择该元素。...选择偶数和奇数元素 使用 :nth-child 伪类设置替代元素的样式。...多个背景图像 将多个背景图像应用于具有不同属性的元素。...CSS :is() 选择器 使用 :is() 伪类简化复杂的选择器。...它对于创建一致且响应式的布局很有用。 h1 { font-size: 2ch; } 41. ::marker伪元素 使用 ::marker 伪元素设置列表项标记的样式。
:not(p) 伪类 选择每个并非p元素的元素 3 盒子模型 媒体元素 自适应和响应式 属性 背景属性 属性 描述 CSS background 复合属性。...1 background-size 检索或设置对象的背景图像的尺寸大小。 3 边框(Border) 和 轮廓(Outline) 属性 属性 描述 CSS border 复合属性。...2 outline-color 设置或检索对象外的线条轮廓的颜色。 2 outline-style 设置或检索对象外的线条轮廓的样式。...2 outline-width 设置或检索对象外的线条轮廓的宽度。...允许超过默认颜色配置文件渲染意向的其他规范 3 内边距(Padding) 属性 属性 说明 CSS padding 在一个声明中设置所有填充属性 1 padding-bottom 设置元素的底填充
作用 选中页面中同时满足多个选择器的标签 选择器1.选择器2 {css} 满足既又原则 伪类选择器 hover 当鼠标放置到目标上时,样式改变 任何一个标签都可以写hover 背景属性 background-color...div、p、h a标签内部可以嵌套任意元素,除了a标签 css特性 继承性 子元素没有的 从父元素处继承;子元素有的,不继承 可以理解为 父元素的样式先赋给子元素 子元素自己的样式又赋给自己 后者覆盖前者...故显示子元素的样式 层叠性 给同一个标签设置不同的样式 → 此时样式会层叠叠加 → 会共同作用在标签上 给同一个标签设置相同的样式 → 此时样式会层叠覆盖 → 最终写在最后的样式会生效 当样式冲突时...概念 每一个标签都是一个盒子 浏览器在网页渲染时,会将网页中的元素看作是一个个的矩形区域,我们也称其为盒子 内容 content内容区域、padding内边距、border边框、margin外边距...官方的联想模型为 苹果电脑的包装盒,个人理解为箱装盒式牛奶 边框 简写为 bd后按tab键 border: 粗细 线条样式 颜色 不分先后顺序 MDN官网上线条的样式如下 可拆分单个属性 border-width
因为每一个直接作用于元素的CSS规则总是会接管/覆盖(take over)该元素从祖先元素继承而来的规则。...下面列表中,选择器类型的优先级是递增的: 派生选择器(例如, h1)和伪元素(例如, ::before) 类选择器(例如,.example),属性选择器(例如, [type="radio"]),伪类(例如...important 什么是CSS Hack 由于不同厂商的浏览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等), 对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面展现效果...visibility: hidden不会让元素从渲染树消失,渲染师元素继续占据空间,只是内容不可见。...rgba()和opacity的透明效果有什么不同 rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于元素,以及元素内的所有内容的透明度, rgba()只作用于元素的颜色或其背景色
原文地址:Common CSS Issues For Front-End Projects 原文作者:Ahmad Shadeed 译者:Chor 快速摘要:近年来,跨浏览器的渲染和交互已经愈加一致。...长词和链接 在手机屏幕上浏览文章的时候,一个长词或者内联链接可能会导致页面出现水平滚动条。使用 CSS 的 word-break 可以防止这个问题。...使用伪元素 无论何时,我都很喜欢使用伪元素。伪元素为我们提供了一种创建假元素的方法,主要用来装饰,同时又无需将其添加到 HTML 中。...使用 display: inline-block 时奇怪的空隙 给两个或两个以上的元素设置 display: inline-block 或者 display: inline ,将会导致它们之间产生一个微小的空隙...水平滚动条 有些元素的宽度可能会导致出现一个水平滚动条。 要找到问题的根源,最简单的方法就是使用 CSS outline。Addy Osmani 写了一个方便的脚本 。
:>,只儿子选中 选择器>选择器 {…} 并集选择器: 选择器,选择器{…} hover伪类选择器 作用:选中鼠标悬停在元素上的状态,设置样式 选择器语法:选择器:hover{css} 背景颜色...,上下的margin会合并 结果:最终两者距离为margin的最大值 塌陷现象: 互相嵌套的块级元素,子元素语句作用在父元素上 结果导致父元素一起改变 解决方法: 一:给父元素设置overflow...等even(偶数) odd(奇数) 伪元素:一般页面的非主体内容可以使用伪元素 由css模拟出的标签效果 ::before 在父元素内容最前面添加一个微元素 ::after 在父元素内容最后面添加一个微元素...,在标准流中的不占原来位置 浮动元素比标准流高半个级别,可以覆盖标准流中的原素 清除浮动·: 清除浮动带来的影响、 父子级标签,子集浮动,父级没有高度,后面的标准流会受到影响 放法: 额外标签法...在父元素内容的最后添加一个块级元素 给添加的块级元素设置clear:both(清除左右浮动) 缺点: 会在页面额外添加标签,会让结构复杂 单伪元素清除法: 写法:.clearfix::after
,类似正则表达式 ^:开头包含 $:结尾包含 *:含字符串 ~:含单词 |:字符串开头或者用-连接 六 伪类选择器 选择元素的不同状态或者不确定存在的元素 a:link:a标签元素被点中后...目标::target伪类,当元素被跳转到后则选中 根伪类::root伪类,根元素 空元素::empty伪类,没有内容的标签 七 结构伪类选择器 首尾元素伪类::first-child, last-child...,所有元素里的第一个/最后一个,是每一层级的;:first-of-type,:last-of-type,某类型元素的第一个/最后一个 唯一子元素伪类::only-child,only-of-type...:第一行 ::after:在之后添加内容,定义内容属性 ::before:在之前添加内容,定义内容属性 搞定CSS 3权重,写CSS样式更流畅 层叠样式,是不同的选择器效果附加到元素上。...如果有冲突,要使用权重排列 一 id与class权重 id权重:100 class权重:10 二 权重计算 同类权重,后出现的覆盖前面的 标签/伪元素:1 属性权重:10 行内:1000
--》将导致问题更加严重!...此时IE6浏览器渲染会出现:自动生成div的兄弟节点P,且p标签不再包含div,布局乱套了 1.5 总结用于不能包含块级元素的特殊块级元素的标签...解决办法:设置背景fixed 1.14 IE7以及以下a标签右浮动时,错位到下一行 解决办法:css hack,利用css hack *margin-x...此时IE6浏览器渲染会出现:自动生成div的兄弟节点P,且p标签不再包含div,布局乱套了 1.5 总结用于不能包含块级元素的特殊块级元素的标签...解决办法:设置背景fixed 1.14 IE7以及以下a标签右浮动时,错位到下一行 解决办法:css hack,利用css hack *margin-x
CSS选择器的权重预示着CSS选择器样式渲染的先后顺序,元素样式渲染时,权重高的选择器样式会覆盖权重低的选择器样式。 通常将权重分为4个等级,可用0.0.0.0来表示这4个等级。 !...注意:在CSS3规范中,为了区别伪元素和伪类,CSS3建议伪类用单冒号“:",伪元素用双冒号"::"。 7、CSS的哪些样式可以继承?哪些不可以继承?...因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没有初始化CSS,往往会导致页面在不同浏览器之间出现差异。...因为访问过的超链接样式覆盖了原有的 hover和 active伪类选择器样式,解决方法是将CSS属性的排列顺序改为L→V→H→A(link, visited, hover, active)。...使用rgba给元素的背景设置透明度的方式,来替代使用opacity设置元素透明度的方式,解决子元素继承父元素透明度的问题。 56、CSS中,自适应的单位都有哪些?
快来免费体验ChatGpt plus版本的,我们出的钱 体验地址:https://chat.waixingyun.cn/#/home :is()、:where() 和 :has() 伪元素是 CSS 中用于样式化元素的非常强大的工具...它们是在 CSS 选择器 Level 4 规范中引入的。它们允许我们将样式应用于符合特定条件的任何元素,例如元素的类型、元素的位置和元素的后代。...例如,如果你想要定位所有类名以 bold 开头的元素,可以使用 :where()伪类来实现: 将以下伪类添加到上述CSS文件中,将导致任何具有以 bold 开头的CSS类的子元素渲染为粗体。...这个 CSS 的添加使得元素具有紫色的背景。 div:has(p) { background-color: purple !...important; } 这是我们网页现在的样子: 这些新的伪元素是任何CSS技能集中不可或缺的工具。经过一些练习,你将能够自信地在自己的项目中使用它们。
第二个参数是接受一系列颜色节点(终止点的颜色)。 渲染容器 其本身没有单独容器概念,大小只能是元素的border-box.不能选择性的线性渐变内容盒等。...如果角度为90,那么渐变线长度为元素的高,如果角度为0,那么长度为元素的宽度。其他角度自己可以根据公式去计算,sin(a)*w+cos(a)*h....代码实现 实现思路很简单,利用线性渐变实现背景的黑色线条,通过位置控制线条的粗细。...不考虑兼容 可能的问题有以下几个方面吧:1 背景不是线性渐变可以实现的,还是需要背景图去做 ;2 如果文字有两行或者更多怎么实现 3 元素背景是透明的时候,span的背景会映射线条,如果也设置透明,会有透明效果叠加...这里建议给大家一种flex的布局方案也可以实现,布局更为常规,利用了flex弹性盒的原理,当然横线背景也是渐变,但span部分没有渐变也没有背景色覆盖。
比如通过:nth-child(odd)实现选择偶数行设置背景色,如果不是用伪类,而是用JavaScript来设置就复杂得多。通过伪类实现了常规CSS无法实现的逻辑。...考虑兼容性CSS2中已存在的伪元素仍可以使用单引号:语法。但是CSS3中新增的伪元素必须以使用::。 一个选择器只能使用一个伪元素,并且伪元素必须处于选择器语句的最后面。...CSS选择器在不同级别时 在属性后面使用!important,会覆盖任意位置定义的样式。作为style属性写在元素内的样式。...如果使用import方法对CSS进行导入,会导致某些页面在Windows 下的Internet Explorer出现一些奇怪的现象:以无样式显示页面内容的瞬间闪烁。...css sprite是什么?有什么优缺点? 将多个小图标he拼接到一张图片里,通过background-position和元素尺寸调节需要显示的背景图案。
在页面背景上,我们添加了一层透明的网格线条效果。这是通过两个线性渐变背景和一个遮罩(mask)实现的。遮罩的方向和角度以及线条的颜色可以通过修改变量来进行调整。...代码,用于创建页面背景中的网格线条效果。...body::before伪元素被用来添加内容,在页面主体之前显示。--line是一种自定义CSS变量,用于指定线条的颜色和透明度。content: "";表示伪元素没有实际内容,只是为了生成背景效果。...height和width属性将伪元素的高度和宽度设置为100vh和100vw,使其与视口的尺寸相同。position: fixed;将伪元素固定在视口的位置。...background属性使用两个线性渐变背景实现网格线条效果,具体的细节可以参考代码中的注释。mask属性创建了一个遮罩效果,通过线性渐变设置透明度渐变,产生一种网格线消失的效果。
仿佛奇怪的问题总是喜欢找上那些初学者。当我在学习制作网页的时候,经常遇到一些很特别的问题。例如:刚刚添加的样式不起作用、jQuery 的代码老是不起作用等等,这些问题往往是不关注细节导致的。...那么浏览器究竟会对这个元素渲染哪一个背景颜色呢?答案是代码排在后面的属性值。冲突的内容,后面的属性值就会覆盖前面的属性值。...但如果 CSS reset 代码放在后面,它之前对 strong 的取消加粗属性就会覆盖掉你的 加粗效果。所以无论刷新网页多少遍,你的 strong 标签里面的内容,还没有加粗。...控制这些颜色的,分别是 CSS 中的 :link 、:visited 、:hover、:active 这四个伪类选择器,从名称就可以看出,控制的状态分别是:默认显示、访问过后、鼠标移动上去、点击激活。...这是因为,这四个伪类选择器对 a 元素定义的时候,是有一个顺序的。如果不按照这个顺序,就会出现一些意外情况。
领取专属 10元无门槛券
手把手带您无忧上云