Internet Explorer 11作為一款老牌瀏覽器,在許多企業和機構中仍然廣泛使用,但其兼容性問題也一直困擾著前端開發者。
在CSS方面,IE11對一些新特性的支持程度不如其他現代瀏覽器。比如,IE11對于較新的布局特性,如Flexbox和Grid,支持程度不夠完美。
.container { display: -webkit-flex; /* Safari */ display: flex; } .container { display: -ms-flexbox; /* IE 10 */ display: flex; } .container { display: -webkit-box; /* Old browsers */ display: -moz-box; display: -ms-flexbox; /* IE 10 */ display: -webkit-flex; /* Safari */ display: flex; }
除此之外,IE11也不支持一些新的CSS選擇器,如:active-within和:focus-within。這些選擇器可以用來選中元素中被激活或聚焦的子元素,非常便于頁面交互的實現。
.parent:active-within .child { background-color: red; } .parent:focus-within .child { background-color: blue; } /* 由于IE11不支持這些選擇器,我們只能通過js來實現同樣的效果 */ document.querySelector('.parent:active .child').style.backgroundColor = 'red'; document.querySelector('.parent:focus .child').style.backgroundColor = 'blue';
總之,IE11的css兼容性問題還是比較棘手的,如果需要兼容IE11,開發者需要選擇更加保守的CSS寫法,并可能需要針對IE11單獨寫一些兼容性樣式。
下一篇docker-a-q