Html 仅嵌套类型选择器的css

Html 仅嵌套类型选择器的css,html,css,css-selectors,Html,Css,Css Selectors,所以我有这样的情况: <div class="wrapper"> <div class="optional"> <h3>one</h3> <textarea/> </div> <div class="optional"> <h3>one</h3> <textarea/>

所以我有这样的情况:

<div class="wrapper"> 
     <div class="optional">
         <h3>one</h3>
         <textarea/>
     </div>
     <div class="optional">
         <h3>one</h3>
         <textarea/>
     </div> 
</div>
但遗憾的是,这不起作用(我知道……只在元素上,而不是在类上)


那么-如果没有JS,当只有一个
文本区域时,有没有办法给它一个不同的高度呢?

正如你所说的,
:只有类型的
不适用于类


由于CSS没有提供一种方法来确定元素是否是其类型的唯一孙子(或唯一孙子,句号),因此您必须使用JS来完成此操作。

因此,我现在有了我的解决方案- 我没有选择
div.optional
而是选择了另一个稀有的元素(
section
),然后我可以再次选择类型为

简单但丑陋:)

事实上,它似乎起作用了。你能证实吗@约瑟夫玛丽克尔你是对的!但我的代码仍然不起作用。。。真奇怪。请看我的真实代码:@Joseph Marikle:Your fiddle并没有解释包装中可能有更多非可选元素的事实,正如OP所说的(并暗示选择器只查看元素,而不是类)。@BoltClock我再次查看后意识到。这是一个更好的例子:只是希望会有一个不错的黑客不知何故。回到JS。谢谢顺便说一句-为什么它工作而不工作?@yonatanmn:还有一个
,没有其他div的同级类。@yonatanmn:该div是它自己父包装器的唯一子级,因此它必然也是它类型中唯一的一个。
.optional{textarea{ height: 150px;  }} 
.optional:only-of-type{textarea{ height: 75px;  }} //sass