2015-05-01 239 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);