Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.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_Parent - Fatal编程技术网

Html 在CSS中从根目录继承?

Html 在CSS中从根目录继承?,html,css,parent,Html,Css,Parent,场景 假设我有一个侧边栏,其中每个框/小部件都是一个li元素(不是很少见)。我用颜色、填充物、边距、字体等为这些li元素设计了样式 一个或几个方框的内容中有自己的内部li元素。我不想从box li元素继承样式 另一种情况 假设我有一个页面,主要内容包含段落、列表和标题,并添加了TinyMCE(一个编辑器) 然后在内容中有一个“快捷码”,如:[my_superbox_module],它被自定义内容替换。该自定义内容包含添加了li元素的框 代码可能如下所示: <p>My content&

场景

假设我有一个侧边栏,其中每个框/小部件都是一个li元素(不是很少见)。我用颜色、填充物、边距、字体等为这些li元素设计了样式

一个或几个方框的内容中有自己的内部li元素。我不想从box li元素继承样式

另一种情况

假设我有一个页面,主要内容包含段落、列表和标题,并添加了TinyMCE(一个编辑器)

然后在内容中有一个“快捷码”,如:[my_superbox_module],它被自定义内容替换。该自定义内容包含添加了li元素的框

代码可能如下所示:

<p>My content</p>
<ul>
    <li>My content list item 1</li>
    <li>My content list item 2</li>
</ul>
<p>Another content</p>
<div class="my_superbox_module">
    <ul>
        <li>My superbox 1</li>
        <li>My superbox 2</li>
    </ul>
</div>
<p>Ending paragraph</p>
我的内容

  • 我的内容列表项目1
  • 我的内容列表项目2
另一内容

  • 我的超级盒子1
  • 我的超级盒子2
结束段

在这个场景中,我不想向每个ul元素添加一个类,因为它是使用TinyMCE编辑器添加的内容部分

我可以从root继承吗?

有没有一种方法可以从根目录继承样式属性,或者只是清理它然后从头开始

这些事情我已经知道了

  • 我可以通过覆盖它们的CSS来清除内部li元素。这增加了额外的CSS代码
  • 我可以在外部li元素上使用>选择器,只针对一个级别的深度。这在某些情况下不起作用,例如使用嵌套框(嵌套li元素)
  • 我可以向内部li元素添加一个reset类。这会添加额外的HTML代码

有一个很好的解决方案吗?

为什么不使用一个类呢?将CSS中的选择器从
li
更改为
li.sidebar
,并将
class=“sidebar”
添加到
li
元素中。

你说的“根”是什么意思?CSS中没有“根”。请为要设置样式的li元素添加一个特殊类。在编写CSS时,要针对特定的元素,而不要针对其他元素,而不是针对所有元素,并尝试否定某些元素的效果。@Andrew Marshall:还有一个
:root
选择器:P@BoltClock啊,啊,啊,呸,骗子
:P
。当然,这似乎不是OP谈论的“根源”。@AndrewMarshall问得好。我需要从html或正文中继承。这一点很好,但我认为在某些情况下它会失败。请看我在“另一个场景”中更新的帖子。我还添加了一个代码示例。如果你有更多的想法,请回复。谢谢所以你是说你希望你的风格应用于网站上的每个
li
,除了那些由模块创建的元素之外?内容区域上的li元素应该被设置为列表项、项目符号、左边距等等。。。但是作为“模块”一部分的li元素不应该继承它。那么看起来您唯一的实际选择将是设置默认样式,并在模块中的
li
元素上否定它。这不是一个很好的做事方式,但我看不出你还有其他选择。