一、動態rem適配移動端html
!function(){
var width = document.documentElement.clientWidth;
var head=document.getElementsByTagName("head")[0];
var style=document.createElement("style");
style.innerHTML="html{font-size:"+width/10+"px;}";
head.appendChild(style);
}()
width/10是爲了保證10rem佔寬滿屏,不除的話,1rem就等於屏幕寬度了。而後咱們只須要動態加上上面的js代碼,就不須要作各類媒體查詢就能適配各類設備寬度。chrome
二、塊狀元素居中瀏覽器
上圖代碼顯示用絕對定位,top,left50%,而後負margin寬高的一半,light-height爲元素的高就能實現垂直居中。相信你們都知道,可是有個問題,若是元素的寬高變了,那咱們也要手動的去改margin。這裏有一個更方便的辦法,若是不考慮IE低版本的瀏覽器的狀況下,能夠用translate來實現,這樣不管元素怎麼變,都不會有影響。app
三、透明度ide
一個塊級元素你使用了opacity來作透明度的話,它會使子元素跟着也透明,即便子元素設置不透明。一樣的,上代碼字體
解決辦法是使用rgba來作透明度,它將不會影響其子元素(完美)!spa
四、display:inline-block 4像素問題code
(chrome 下是8像素)父元素 加 font-size:0,子元素設置font-size:N px;orm
ul {
list-style: none outside none;
padding: 10px;
text-align: center;
font-size: 0px;
}
ul li {
display: inline-block;
*display: inline;
zoom: 1;
padding: 5px;
font-size: 12px;
}
這種方法不兼容Safari,在父元素中設置font-size:0,用來兼容chrome,而使用letter-space:-N px來兼容safari:htm
ul {
letter-spacing: -4px;/*根據不一樣字體字號或許須要作必定的調整*/
word-spacing: -4px;
font-size: 0;
}
ul li {
font-size: 16px;
letter-spacing: normal;
word-spacing: normal;
display:inline-block;
*display: inline;
zoom:1;
}