Javascript CSS:惊人的删除线不处理子显示:内联块div
我有一个代码,如果我应用文本装饰:行通过在外部div上,所有内部div元素也必须是“删除线”。正常情况下,这可以100%正常工作;但是,如果我将子元素放置为“显示:内联块”,那么现在应用于父div的删除线不会影响子元素的删除线。我必须将child作为display:inline块,我需要在添加文本装饰时将child划掉:line-through到父divJavascript 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{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
,因此如果希望它不同,则需要指定一个值