在CSS中如何设置图层

html-css013

在CSS中如何设置图层,第1张

可以用z-index控制,具体步骤如下:

需要准备的材料分别有:电脑、浏览器、html编辑器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<body>标签中,输入html代码:

<img style="position: absolutetop:0z-index: 1" src="image.jpg" />

<img style="position: absolutetop:0" src="small2.png" />

3、浏览器运行index.html页面,此时大图因为z-index更大而被设置到更上面的图层了。

如果我们的页面上存在非常多的样式,譬如有我们开发页面的时候的自定义样式,也有引入的组件库样式。这时候样式将会非常混乱难以管理。

当我们想覆盖一些本身非我们书写的样式时候,往往不得不通过使用优先级权重更高的样式名,去覆盖那些样式。

同时,当样式优先级感到难以控制时,开发者习惯滥用 !important 去解决,这又循环导致了后续更混乱的样式结构。

基于让 CSS 得到更好的控制和管理的背景,CSS @layer 应运而生。

CSS Cascade Layers,也叫做CSS级联层,是Cascading and Inheritance Level5 规范中新增了一个新的 CSS 特性。

这样,我们就创建一个名为 utilities 的 @layer 级联层。

@layer规则可以通过三种方式其一来创建级联层。第一种方法如上方代码所示,它创建了一个块级的@规则,其中包含作用于该层内部的CSS规则。

一个级联层同样可以通过 @import 来创建,规则存在于被引入的样式表内:

你也可以创建带命名的级联层,但不指定任何样式。例如,单一的命名层:

或者,多个命名层也可以被同时定义。例如:

因此,在上面的例子中,如果 theme 层和 utilities 层中存在冲突的规则,那么 utilities 层中的将优先被应用。

即使 utilities 层中规则的 优先级低于 theme 层中的,该规则仍会被应用。一旦级联层顺序建立之后,优先级和出现顺序都会被忽略。

这将使创建CSS选择器变得更加简单,因为你不需要确保每一个选择器都有足够高的优先级来覆盖其他冲突的规则,你只需要确保它们出现在一个顺序更靠后的级联层中。

级联层允许嵌套,例如:

向 layout 层内部的 framework 层附加规则,只需用 . 连接这两层。

如果创建了一个级联层但并未指定名字,例如:

那么则称为创建了一个匿名层。除创建后无法向其添加规则外,该层和其他命名层功能一致。

1、使用@layer 块规则,并立即为其分配样式:

2、使用规则@layer 语句,没有指定任何样式:

3、将@import 与layer关键字或layer()函数一起使用

以上每一个都创建了一个名为 的级联层reset。

在下面的例子中,我们建立四个级联层:reset,base,theme,和utilities。

重复使用级联层名称时,样式将附加到现有级联层。级联层的顺序保持不变,因为只有第一次的出现已经确定顺序:

重新使用级联层名称时层顺序保持不变的使@layer 语法变得更加方便和严谨。使用它,可以预先建立图层顺序,然后将所有 CSS 附加到它:

按以往CSS级联来进行分析的话,form input(多层级)的优先级会大于input,但是由于级联层所起的作用,@layer theme的input会取胜。

级联层支持嵌套使用,如下:

在这个例子中有两个级联外层:

base

framework

该framework层本身也包含两层:

base

theme

如果要将样式附加到嵌套级联层,需要使用以下全名来引用它,

如果第一个@media (min-width: 30em)匹配(基于视口尺寸),则layout级联层层将在图层顺序中排在第一位。如果只有@media (prefers-color-scheme: dark)匹配,theme则将是第一层。

如果两者匹配,则图层顺序将为layout, theme。如果没有匹配,则不定义层。

可以用定位来 position3/;2<&lt:-20px 0 0 20px}<body>html>body>/;4style>div2<&lt、两个图层的css的位置要一样。设置方法如下:150pxdiv id="html>>div1<z-indexz-indexmargin:80px&gt:0、用position样式设置为绝对定位</div id="height&lt、设置第二个图层的z-index的值要大于第一个图层的z-index的值div>style>/&lt:200px:redbody {position:10background-color:relative、设置left和top css属性值head>head>&lt:<heightz-index<div>div2"}#div2 {width:bluediv1&quot:100px}#div1 {width/用css让一个图层遮住另一个图层操作方法:1background-color:20/可以使用position定位到一起,然后使用z-index决定图层顺序。可以这样写<html><head><style>body {position:relativez-index:0}#div1 {width:200pxheight:100pxbackground-color:redz-index:10}#div2 {width:150pxheight:80pxmargin:-20px 0 0 20pxbackground-color:bluez-index:20}</style></head><body><div id="div1">div1</div><div id="div2">div2</div></body></html>如何使用Dreamweaver cs5入门制作网页…… 打开软件,选择文件--新建(或按Ctrl+N),弹出对话框如图,在常规选项卡里面选择基本页--HTM...photoshop在网页制作的作用…… 过程中,现在最高的版本是CS6,它不仅仅可以实现网页设计的制作以及平面设计...一般网页制作的步骤如...如何使用Dreamweaver cs5入门制作网页…… 这个谁要先学会代码的,不会代码就算你熟悉这个软件也没多大用处如何使用Dreamweaver cs5入门制作网页…… 打开软件,新建一个html页面,就可以制作网页了。但是,软件的使用是小问题,技术才是大问题,软件你再...在Dreamweaver中怎么直接编辑已有网页?…… 1、在Dreamweaver的菜单栏,选文件,打开。 2、选择已编辑好的网页,点击确定。 3、在菜单...网页中已经插入一张图片pa,请设计样式cs1,使其具有左右反转效果…… 我建议你更加深入去学习front page,只要你把front page 玩精玩透了,其它的网页设计...如何用dreamweaver cs6制作网页…… 在这里我输入的是“新闻网页”,放在Dreamwaver CS6文件夹下的新闻网页文件夹...在“标题...用dw CS6制作网页框架,怎么制作?…… 在页面中实现框架功能的标记有两个:框架组标记<FRAMESET>… </FRAMESET>和框架标记...在网页中如何添加CSS样式表?…… 一共有四种方式添加CSS样式:1)内联样式。只是为单个元素指定一些CSS样式,就是在html的标签添...Adobe Dreamweaver CS6怎么用,如何使用,使用问题,使用方法和技巧…… 这个问题,不好一下子说清总的来说Adobe Dreamweaver制作网页比较简单,因为他是所...