选择父元素的第一个子元素。...当多个选择器匹配同一个元素且样式冲突时,优先级高的选择器对应的样式将生效。若优先级相同,则后定义的样式覆盖先定义的样式。...当在父元素(如或)上设置这些属性,其子列表项()会继承。...:hover:当鼠标悬停在元素上时匹配。不仅适用于链接,也可用于其他元素。例如:a:hover { text-decoration: underline;}鼠标悬停在链接上时,链接会显示下划线。...:only - child:选择父元素中唯一的子元素。例如,中只有一个子元素(无论什么类型)时,该子元素会被div > :only - child选中。
当多个选择器匹配同一个元素且样式冲突时,优先级高的选择器对应的样式将生效。若优先级相同,则后定义的样式覆盖先定义的样式。...当在父元素(如或)上设置这些属性,其子列表项()会继承。...:hover:当鼠标悬停在元素上时匹配。不仅适用于链接,也可用于其他元素。...例如: a:hover { text-decoration: underline; } 鼠标悬停在链接上时,链接会显示下划线。对于按钮等元素也可利用:hover添加交互效果,如改变背景颜色等。...:only - child:选择父元素中唯一的子元素。例如,中只有一个子元素(无论什么类型)时,该子元素会被div > :only - child选中。
它需要许多不同的值,但坦率地说,在大多数情况下你将只使用 4 个值。 block:CSS 中的块级元素,它占用尽可能多的空间,但它们不能放置在同一水平线上。...开发人员主要使用块级元素来简化布局过程,因为他们能够改变他们选择的元素的宽度和高度。 inline:这是默认值,如果没有指定任何其他显示值,元素可以并排放置在与内联元素相同的水平线上。...您可以在下拉菜单中使用它,当你将鼠标悬停在导航菜单上时会显示附加信息。 2、Float float 属性用于定位和格式化内容。 简单来说,float 属性管理HTML内容在父容器一侧边缘的位置。...例如; 当子元素被定位为absolute时,我们可以通过top、left、bottom值来控制它在整个body元素中的位置。你可以将其称为独立子元素,其中 body 元素是父元素。...但是,当我们为父元素(蓝色容器)提供相对位置时,所有具有绝对位置的元素都将落入新的父元素之下。 你可以观察到,当我们将相对位置值传递给父元素时,子元素的高度现在是相对于父元素的。 本文完~
但在写代码之前,我们要做的就是: 悬停在上面的卡应该在保持长宽比的同时展开。 当一张牌悬停时,其他牌不应改变大小并向外移动,以免彼此重叠。 所有的牌应该保持垂直居中。 听起来不错吧?...CSS3中鼠标滑过图片突出放大效果 悬停时展开项目 我们的下一步是让项目在悬停时展开。...我们可以通过设置元素宽度的动画来实现这一点,但这会影响文档的流动,并导致悬停项的同级项收缩–另外,设置宽度属性的动画在某些情况下会降低性能。...CSS3中鼠标滑过图片突出放大效果 向外移动兄弟元素 让悬停项的兄弟项远离悬停项是整个过程中很棘手的部分。我们可以使用的一个CSS特性是一般的兄弟组合器。这使我们可以选择位于悬停项之后的所有同级项。...一种方法是在父容器本身上添加其他悬停规则。这是计划: 悬停父容器时,请将该容器内的所有项目向左移动。 使用通用的同级组合器可以将悬停的项目向右移动后放置的项目。
可在 CodePen 上查看真实效果和编辑代码 说明 box-sizing:当元素设置为border-box时,即便设置了padding或border也不会改变元素的宽度和高度。...使用transform居中子元素 使用 position:absoluteandtransform:translate() 进行居中,不需要知道父级和子元素的宽高,因此它非常适合响应式应用程序。...37.高度过度 当元素的高度未知时,将元素的高度从0转换为自动。...39.悬停下滑线动画 当文本悬停时,创建文本下划线动画效果。....sibling-fade:hover span:not(:hover)当父级悬停时,选择当前未悬停的span子项并将其透明度更改为0.5。
它们通常用于选中那些不是DOM树中某个元素的本身,但我们依然希望能够应用样式的情况。例如,当用户将鼠标悬停在链接上时,链接的样式可能需要改变,或者在表单元素获得焦点时需要突出显示。...:first-child —— 第一个子元素 :first-child伪类选择器用于选中父元素中的第一个子元素,不管该元素的类型是什么。...:first-child —— 父元素的第一个子元素 :last-child —— 父元素的最后一个子元素 :nth-child(n) —— 父元素中第n个子元素 :nth-last-child(n)...:last-child —— 最后一个子元素 :last-child与:first-child类似,用于选中父元素中的最后一个子元素。...a:hover:focus { color: blue; } 当链接既被悬停(hover)又获得焦点(focus)时,颜色变为蓝色。 2. 改善用户体验 伪类选择器广泛应用于改善用户交互体验。
伪类用于当已有的元素处于某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。比如说,当用户悬停在指定的元素时,我们可以通过 :hover 来描述这个元素的状态。...、list-style 光标属性 cursor 元素可见性 visibility 还有一些不常用的;speak,page,设置嵌套引用的引号类型 quotes 等属性 注意:当一个属性不是继承属性时...elem:last-child 选中最后一个子元素。 elem:only-child 如果elem是父元素下唯一的子元素,则选中之。...elem:last-of-type 选中父元素下最后一个elem类型元素。 elem:only-of-type 如果父元素下的子元素只有一个elem类型元素,则选中该元素。...行内元素也可以使用Flex布局。注意,设为Flex布局以后,子元素的float、clear和vertical- align属性将失效。
你将学到: CSS基础知识: 我们会从CSS的基础语法和常用属性开始,让你了解如何使用CSS来设置网页的样式,包括文字样式、颜色、布局等方面。...代表 input textarea,button select 元素显示模式转换: 目的:改变元素默认的显示特点,让元素符合布局要求 属性:display:block 转换成块级元素, display...,上下的margin会合并 结果:最终两者距离为margin的最大值 塌陷现象: 互相嵌套的块级元素,子元素语句作用在父元素上 结果导致父元素一起改变 解决方法: 一:给父元素设置overflow...等even(偶数) odd(奇数) 伪元素:一般页面的非主体内容可以使用伪元素 由css模拟出的标签效果 ::before 在父元素内容最前面添加一个微元素 ::after 在父元素内容最后面添加一个微元素...距离左边距的 距离 垂直 top 数字+px 距离上边距的距离 子级绝对定位,父级相对定位 位移 :transform(-50%,-50%) 移到自己盒子的中间 固定定位: position:
它们允许开发者根据元素的属性、位置和关系来选择和样式化HTML元素。 一个较新的CSS选择器/伪类被称为 :has ,它允许您选择每个具有与您提供给 :has() 函数的选择器匹配的子元素的元素。...它在CSS中是一个重要的解决方案,不仅仅是一个简单的“父级”选择器。 使用 :has() 选择器,您可以将样式应用于父元素或祖先HTML元素。...它是一个强大的CSS工具,您可以用于以下目的: 为子元素的父元素设置样式:如果一个 元素包含一个 元素,你可以使用 :has() 选择器来为它设置样式。...现在,我们要选择一个元素的父级。...基于子元素的选择 使用 :has ,我们不仅可以选择父元素,还可以选择子元素。
边距折叠 简而言之,当两个垂直元素有一个边距,并且其中一个的边距大于另一个时,就会发生边距折叠。 在这种情况下,将使用较大的边距,而忽略另一个边距。...负边距 它可以与四个方向的边距一起使用,在某些用例中非常有用。 让我们假设以下内容: 父级有 padding: 1rem,这导致子级从顶部、左侧和右侧偏移。 但是,子元素应该紧贴其父元素的边缘。...我更喜欢的是以下内容: 向网格项添加 padding-left 将具有相同 padding-left 值的负 margin-left 添加到网格父级。...由于应用于父元素 .card__content 的填充,边框不会粘在边缘上。 是的,你猜对了! 负边距是解决办法。...或者,当它垂直堆叠时,这将如何在移动设备上工作? 很多很多的复杂性。 使用抽象组件 上述问题的一个解决方案是拥有抽象的组件,目的是托管其他组件。
匹配父元素里唯一的 button 子元素. input:only-of-type 匹配父元素里唯一使用了input标记的子元素. a:focus 匹配拥有焦点的 a 元素. a:tab-focus 匹配通过按...在使用时, 此元素会根据用户的点击, 修改自己的 :checked 状态. 从而改变自己的背景图像表现. 不同的 behavior, 在使用时会有不同的状态和相关的属性进行互动....鼠标悬停的菜单项元素会被赋予 :current 状态. 菜单元素被调用时, 它的父元素会被设置为调用它的元素....当具有 .item 类的元素被鼠标悬停时, 会触发此事件并执行里面的代码. 下面是完整的事件支持列表: 事件 说明 hover-on!hover-off! 鼠标悬停/离开时触发 active-on!...元素大小发生改变时触发 获取元素 接下来看看事件处理的代码的第一句: .item {hover-on! :ele = $1( input.url ) , ele:empty == true ?
前面的选择器是 “父元素”,后面的选择器是 “直接子元素”,最终选中的是父元素的直接子元素。...语法: /* 父元素选择器 > 直接子元素选择器 { 样式声明 } */ 父元素选择器 > 直接子元素选择器 { 属性1: 值1; 属性2: 值2; } 3.2.2 实战代码样例:与后代选择器对比...子选择器 父选择器 > 子选择器 选中父元素的直接子元素 选择器之间用 > 分隔,只选直接子元素 只需要父元素的直接子元素,不含深层后代 并集选择器 选择器 1, 选择器 2, ......在实际开发中,一个元素可能会被多个选择器选中,当这些选择器设置的样式冲突时,浏览器会按照 “优先级” 来决定应用哪个样式。理解选择器优先级,能帮你避免样式 “失效” 的坑。...important,它会破坏优先级规则,导致样式维护困难。只有在需要覆盖高优先级样式(如行内样式)且无法修改原有代码时,才考虑使用。
伪元素 概念:使用CSS模拟标签,创建网页中不重要的图 用法:找父级,在父级中添加子标签 伪元素 作用 ::before 在父元素内容最前添加一个伪元素 ::after 在父元素内容最后添加一个伪元素...background-color: pink; } 三、结构伪类选择器: 作用:通过结构找到目标标签或者文本 匹配父元素中的第n个子元素(注意:是所有标签而不是需要改变的标签) E:nth-child...: E[attr] E[attr="val"] 定位: 网页的三种布局方式:标准流、浮动、定位 目的: 解决盒子与盒子之间的层叠问题 让盒子始终固定在屏幕中的某个位置 定位使用步骤...先找已经定位的父级(一般是 相对定位),以这个父级为参照物 子绝父相 就近找定位的父级,如果逐层找不到这样的父级,就以浏览器窗口为参照物定位。...如果父级没有定位,那么以浏览器窗口为参照物。
transform中translate使用百分比时相对的是自己的长宽,不是父盒子的。...,父盒子有内容子盒子居中效果消失 */ } 浮动 为什么使用浮动?...---- 结构伪类选择器 根据元素在HTML中的结构关系查找元素,查找某父级选择器中的子元素....例如:a,input,span…… 2.浮动 可以让原本垂直布局的 块级元素变成水平布局,子元素嵌入进父元素上方,父元素内容环绕浮动子元素,上方有介绍,类似于图层的概念或微软word中图片环绕文字四周概念...—>子绝父相): 1.若父级(/爷级…..)有定位属性,根据父级为参照进行定位 2.若父级无定位属性,根据浏览器窗口进行定位 且具备了行内块特点,可设置宽高。 在页面中不占位置—>已经脱标。
CSS三大特性 继承性--给父元素设置的属性,后代元素都可以继承,但仅限于以(color/font-/text-/line)开头的属性。...层叠性--指CSS处理冲突的能力,当不同选择器选中同一标签并且设置了相同的属性时,就会出现冲突,这时CSS就会将多重样式层叠为一个。...:last-of-type--同上,最后一个 :only-of-type--选中某个父元素下只要唯一一个p元素 :only-child--例子:p:only-child 选择属于某个父元素的唯一子元素的每个...另外,:hover还可以用于选中所有的其它标签,比如div:hover,当鼠标悬停到div区域上时,会产生一个效果,可以用来设置动画。...scroll内容会被修剪,始终显示滚动条 auto如果内容被修剪,则显示滚动条 inherit从父元素继承 position--元素的定位类型,制作一些放在某个框内的hot/new小图标时可用”子绝父相
当使用一个半径时确定一个圆形,当使用两个半径时确定一个椭圆。这个(椭)圆与边框的交集形成圆角效果。...一般在显示用户名时候使用 ---- overflow CSS属性 overflow 定义当一个元素的内容太大而无法适应 块级格式化上下文 时候该做什么。...可以在父元素的css属性中增加 overflow: hidden这一属性后 父元素不再随子元素而改变 或者在父元素之前加上一个空元素: .div-outer::before { content: "...元素的位置在屏幕滚动时不会改变。...---- order 定义flex项目的顺序,值越小越靠前。 ---- flex-grow CSS 属性 flex-grow CSS 设置 flex 项主尺寸 的 flex 增长系数。
() 作用类似,但是仅匹配使用同种标签的元素 E:last-child 匹配父元素的最后一个子元素,等同于:nth-last-child(1) E:first-of-type 匹配父元素下使用同种标签的第一个子元素...,等同于:nth-of-type(1) E:last-of-type 匹配父元素下使用同种标签的最后一个子元素,等同于:nth-last-of-type(1) E:only-child 匹配父元素下仅有的一个子元素...,此时的 相对 是相对于正常文档流的位置 absolute 相对于最近的非 static 定位祖先元素的偏移,来确定元素位置 如一个绝对定位元素的父级和祖父级都为 relative,会相对父级来产生偏移...因为子元素脱离了父元素的文档流,所以父元素失去了高度,导致了塌陷。要解决这个问题,就是让父元素具有高度。... # 盒模型 盒模型是什么 当对一个文档进行布局时,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型,将所有元素表示为一个个矩形的盒子 CSS 决定这些盒子的大小、位置以及属性
的概念,其默认的width就是min-width 6.IE6下在使用margin:0 auto;无法使其居中 解决办法:为其父容器设置text-align:center; 7.被点击过后的超链接不再具有...hover和active属性 解决办法:按lvha的顺序书写css样式, ":link": a标签还未被访问的状态; ":visited": a标签已被访问过的状态; ":hover": 鼠标悬停在...a标签上的状态; ":active": a标签被鼠标按着时的状态; 8.在使用绝对定位或者相对定位后,IE中设置z-index失效,原因是因为其元素依赖于父元素的z-index,但是父元素默认为0,...子高父低,所以不会改变显示的顺序 9.IE6下无法设置1px的行高,原因是由其默认行高引起的 解决办法:为期设置overflow:hidden;或者line-height:1px; 三、JavaScript...、子节点的方式不同 其他浏览器:parentNode parentNode.childNodes IE:parentElement parentElement.children 8、常见CSS属性兼容