2015-05-01 162 views
5

我期待做一个流体响应相等高度的列,点击时有一个'覆盖'。覆盖100%覆盖IE中的TD

为了获得响应性等高度的事情,我做了'覆盖'实际的基本内容(所以它的大小的列),并试图然后把初始状态在覆盖。

这对FF和Chrome,但不IE10或11(以前未测试)罚款。

在IE上,在TD内部做position: absolute; right: 0; left: 0; top: 0; bottom: 0似乎并没有使覆盖层覆盖整个TD,而只是覆盖整个TD的内容大小。

http://codepen.io/anon/pen/dooJjb

任何想法?

奖励积分: 我的设计师最初想要的是头部向上滑动,段落从底部向上滑动 - 如果没有很多JS,不会真的觉得这是可能的吗?

+1

可能重复:表 - 细胞的孩子忽略身高:100%](http://stackoverflow.com/questions/27384433/ie-display-table-cell-child-ignores-height-100) – isherwood

+1

老年人的IE浏览器有绝对定位类似的问题元素无法正常工作。通过使用1px平铺图像修复。 可能值得尝试,而不是rgba看看是否有帮助。 – Antfish

回答

0

我没有在IE中检查过你的例子,但我知道有很多方法可以让你在所有浏览器上都能正常工作。

我总是&之前避免与布局后,因为他们有一些跨浏览器的问题,这可能不是你的当前显示塞但在此之前后 & 无论哪种方式是不是真的布局恕我直言。

我做了类似的事情在几个月前:

  1. [盒,箱,箱] [覆盖,覆盖,覆盖]:两个人都有位置绝对的,顶部&左= 0,覆盖支架z-index:1。

  2. [[box,overlay] [box,overlay] [box,overlay]]:这些框是相对的,叠加层绝对定位。所有覆盖尺寸定义并给出了1

关键是要保持干净,你真的不需要深在这种情况下,你只需要位置3级以上,并设置的z-index图层正确。

使用jQuery设置动画段落很干净,但我更喜欢使用另一个动画库,如GSAP。但是如果你必须本身,如果你能负担得起跳过与IE8的动画,那么你基本上都会设置CSS3过渡和使用类似.classList切换类[IE显示http://jsfiddle.net/davidThomas/Tpz86/

function classToggle() { 
    this.classList.toggle('class1'); 
    this.classList.toggle('class2'); 
} 
document.querySelector('#div').addEventListener('click', classToggle);