Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html CSS仅更改现有样式_Html_Css - Fatal编程技术网

Html CSS仅更改现有样式

Html CSS仅更改现有样式,html,css,Html,Css,答案可能是否定的,但我还是会问。使用CSS,是否可以仅覆盖现有样式 示例:更改具有边框的图元的边框颜色,并保留没有边框的图元 差不多 div[border] {} 上面的代码应该只改变具有边框样式的div的样式。 是否有类似的内容?只有将样式设置为HTML属性时,这才有效,例如 div[style*="border"] { border-color: #ffff00 !important; } 就像在你的问题中解释的,你不能用CSS做这样的事情,但是如果我们用不同的方式思考这个问题,

答案可能是否定的,但我还是会问。使用CSS,是否可以仅覆盖现有样式

示例:更改具有边框的图元的边框颜色,并保留没有边框的图元

差不多

div[border] {}
上面的代码应该只改变具有边框样式的div的样式。
是否有类似的内容?

只有将样式设置为HTML属性时,这才有效,例如

div[style*="border"] {
    border-color: #ffff00 !important;
}

就像在你的问题中解释的,你不能用CSS做这样的事情,但是如果我们用不同的方式思考这个问题,我们可以找到另一种方法。您可以使用定义样式,然后通过简单地调整变量的值,您将只改变现有的CSS

以下是一个简化的示例:

.class1{
边框:1px实心变量(--c,红色);
}
.2级{
边框样式:实心;
边框宽度:5px;
边框颜色:var(--c,红色);
}
1.同学们不要碰{
边框:2倍纯红;
}
/*更改主体上的值,它将被其他元素继承*/
身体{
--c:蓝色;
}

一些内容

更多内容

带边框的内容不可修改


不,仅CSS是不可能的。这仅在内联添加
边框时才覆盖。如果从样式表中设置,则不会,而且它的具体程度也将低于内联规则本身。请记住,内联样式会覆盖此内容,因此您必须附加
!重要信息
。不知道为什么会被否决,这是一个有效的、合法的答案。@Roberrt正如Andrei所说,只有在样式是内联的情况下,这才有效,你猜怎么着?这也将捕获
边界半径
。因此,这不会在所有情况下都起作用,1)这里所说的Bram,2)仍然可以被有类似问题的人改变/试验/利用。请不要误解我,Afif,但这是如何回答问题的?问题是:如果属性已设置,我是否可以仅使用CSS将属性覆盖到现有元素,而如果属性未设置,我是否可以不覆盖?使用CSS变量设置属性与使用JavaScript变量或php变量非常相似。这只是发生在不同的层面上,但仍然需要我们检查代码/应用程序并说:我希望它在这里、这里和那里。这根本不是我们要问的。唯一的答案是否,因为该属性始终设置为其默认值。那是CSS!我不是说你的提议是错的。它是干的,这就是编程应该怎么做,不管语言。但这与被问到的问题没有直接联系。公平地说,您不能使用CSS选择器选择DOM中具有边框的所有元素。不过,我承认这会很好:D…@Andrei Gheorghiu:我想可以说得更清楚一点,这只是接近询问者想要的,实际上并没有直接完成。@AndreiGheorghiu我想我的第一句话恢复了你说的。我说,他想做的是不可能的CSS,我们都同意这一点,我也投了你的意见。现在我试着猜测他的需要,当他说他想对有边框的元素应用样式时,我想他只想选择少数元素来调整它们的样式,而使用CSS变量与他想要的非常接近:你使用一个特定的变量定义一个属性,然后你只需更改它来更改所有的属性正如@BoltClock所说的,这是一种处理CSS的方法[对于询问者来说可能是新的]。它与问题本身无关,但它可以根据他的需要来考虑。顺便说一句,他接受了答案,所以我想我对他的需要的猜测部分是正确的。