Javascript CSS:惊人的删除线不处理子显示:内联块div

Javascript CSS:惊人的删除线不处理子显示:内联块div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个代码,如果我应用文本装饰:行通过在外部div上,所有内部div元素也必须是“删除线”。正常情况下,这可以100%正常工作;但是,如果我将子元素放置为“显示:内联块”,那么现在应用于父div的删除线不会影响子元素的删除线。我必须将child作为display:inline块,我需要在添加文本装饰时将child划掉:line-through到父div div{padding:10px;} #外部{背景:黄色;文本装饰:线穿过;} #内部{背景:粉红色;显示:内联块;} 这是文本 使用文本

我有一个代码,如果我应用文本装饰:行通过在外部div上,所有内部div元素也必须是“删除线”。正常情况下,这可以100%正常工作;但是,如果我将子元素放置为“显示:内联块”,那么现在应用于父div的删除线不会影响子元素的删除线。我必须将child作为display:inline块,我需要在添加文本装饰时将child划掉:line-through父div

div{padding:10px;}
#外部{背景:黄色;文本装饰:线穿过;}
#内部{背景:粉红色;显示:内联块;}

这是文本

使用
文本装饰:继承

div{padding:10px;}
#外部{背景:黄色;文本装饰:线穿过;}
#内部{背景:粉红色;显示:内联块;文本装饰:继承}

这是文本

文本装饰的默认值为
,因此,如果希望值不同,则需要指定一个值。使用
inherit
使用父项的值:

#outer > div { text-decoration: inherit; }
或者调整
#inner
的css以包含
文本装饰:inherit

#inner { background: pink; display: inline-block; text-decoration: inherit; }

示例

div{padding:10px;}
#外部{背景:黄色;文本装饰:线穿过;}
#内部{背景:粉红色;显示:内联块;文本装饰:继承;}

这是文本

您错过了
id周围的引号。比如
id=“outer”“
这不会影响兄弟。这不是问题所在。结果是一样的…@AmitSoni在HTML5中不是必需的。
inherit
指示元素采用其父元素的css样式。我编辑了这个问题来解释它为什么工作。然而,一个更好的问题是,如果行是
block
inline
,那么它如何通过内部div可见。我不确定我能回答这个问题。我很惊讶
文本装饰
不是继承的;我认为所有样式都是默认继承的。特别是由于这个“
注意,文本装饰不会传播到浮动和绝对定位的子体,也不会传播到原子内联级子体(如内联块和内联表)的内容。解释就在这里:。这意味着除非正确指定,否则children元素不会继承该属性。@AaronDigulla继承了许多样式,但决不是所有样式。是一个列表。为什么
inherit
在这里起作用?这不应该是默认值吗?
文本装饰
自动具有值
none
,因此如果希望它不同,则需要指定一个值