使用示例CSS:

.thing { height: auto }

和HTML:
<div class="thing">The quick brown fox jumps over a lazy dog.</div>

是否可以检测到.thing的高度设置为'auto'?

以下方法返回值:
jQuery('.thing').height()        // n
jQuery('.thing').css('height')   // 'npx'
getComputedStyle(node).height    // 'npx'

是否有任何方法可以告诉我浏览器正在从“自动”计算这些值?

最佳答案

是的,有一种方法,但这不是一个有趣的方法。您要做的是:

  • 遍历所有styletags和链接的样式表。
  • 然后获取所有样式标签中所有selectorTextcssRules
    styletag.sheet.cssRules.selectorText
    

    或IE
    styletag.styleSheet.cssRules.selectorText
    
  • 获取所有父idclasstagName元素,以找出标记获取属性的可能方法。
  • 查找指向您元素中所有可能的组合cssRules列表
  • 如果是自动的,请在cssRules上检查那些cssRules.style.width

  • 或者以相反的方式进行操作,并找到cssRules中的所有style.width == 'auto';,或者通过多种方式查找它,而没有大量代码则不容易

    关于javascript - 您可以检测dom节点的样式何时设置为 'auto'吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6072151/

    10-11 16:40