E{ -moz-name : value; /* Firefox */ -ms-name : value; /* IE */ -o-name : value; /* Opera */ -webkit-name : value; /* WebKit */ name : value; /* 適應將來標準方式 */ }
head部分css
<link href="css.css" rel="stylesheet" media="mediaType and (expr)" />
css文件首行html
@import url("css.css") mediaType and (expr);
樣式規則內部前端
@media mediaType and (expr) { /* styles */ }
只有all(沒有意義,不如不加)、screen和print是瀏覽器廠商普遍支持的,可選值還有:jquery
braille:盲文css3
embossed:盲文打印git
handheld:手持設備,並很差用github
projection:投影設備web
speech:演講spring
tty:顯示等寬字體的設備,好比電傳打字機瀏覽器
tv:電視
因此算上前三個普遍支持的,一共有10個可選值
最經常使用的是min-[device-]width和max-[device-]width,例如:
@media screen and (min-width : 800px) { /* 當瀏覽器窗口寬度>=800px時應用該樣式 */ } /* * 通常分界值: * 480px如下 ~ 手機瀏覽器 * 800px以上 ~ 桌面瀏覽器 * 480px到800px ~ 平板上的瀏覽器 */
此外還有orientation方向、device-aspect-radio寬高比、device-pixel-radio像素比等等其它屬性,更多信息請查看前端觀察:media type與media query
用and和only能夠構造複雜表達式
(expr1) and (expr2):與
only (expr):用來對那些不支持Media Query但卻支持Media Type的設備隱藏樣式表,更多信息請查看博客園:Media Queries詳解
mediaType1 (), mediaType2 ():或
[IE9+]支持CSS3標準,但對於非標準的屬性,好比device-pixel-ratio,IE11都只是部分支持,更多支持性差別請查看Can I use
最安全的字體引入方式:
@font-face { font-family : "font"; src : url("font.eot"); src : local(" "), /* 注意引號包裹了一個空格,也能夠是其它單個字符 */ url("font.woff") format("woff"), url("font.ttf") format("truetype"), url("font.svg#font") format("svg"); }
還有相似的方式,請查看Fontspring
有好用的@font-face生成器,能夠轉字體格式並生成CSS代碼,請查看Fontsquirrel
主要用text-shadow屬性實現,[IE10+]支持,語法以下:
text-shadow : xOffset yOffset blur-radius color;
具體代碼:
.shadow1 { text-shadow : 0 -2px 3px #fff, 0 -4px 3px #aaa, 0 -6px 6px #666, 0 -8px 9px #000; } .shadow2 { color : #fff; text-shadow : 0 2px rgba(0, 0, 0, 0.4), 0 4px rgba(0, 0, 0, 0.4), 0 6px rgba(0, 0, 0, 0.4), 0 8px 0 rgba(0, 0, 0, 0.4); } .shadow3 { background-color : #565656; color : #333; text-shadow : 0 1px 0 #777, 0 -1px 0 #000; }
示例:
shadow1:黯羽輕揚 shadow2:黯羽輕揚 shadow3:黯羽輕揚
P.S.超大號的字體立體效果比較好,小字陰影效果看不清
text-overflow : clip/ellipsis ~ 截斷/省略號(...),例如:
p { /* 要想在一行顯示省略號,下面3個屬性缺一不可 */ text-overflow : ellipsis; white-space : nowrap; overflow : hidden; }
支持性:[IE8+]支持
word-wrap : normal/break-word ~ 不換行,會頂破容器/自動換行
支持性:[IE6+]都支持,固然,只對英文單詞有效,中文無效
border-radius:[IE9+]支持
border-image:效果很誘人,[IE11+]支持,雖然能夠用JQ插件勉強支持,但效果也很勉強,更多信息請查看張鑫旭博客:CSS3 border-image詳解、應用及jQuery插件
box-shadow:[IE9+]支持,具體用法請查看W3School:CSS3 box-shadow 屬性
opacity : 0.0 – 1.0; [IE9+]支持,IE8部分支持
color : rgba(r, g, b, a); [IE9+]支持
線性漸變/放射漸變,[IE10+]支持,具體用法請查看CSS-Tricks
有幾個很類似的屬性,區別以下:
transform:變換。2D/3D變換、平移、旋轉、傾斜、縮放
translate:平移。2D變換的子屬性
transition:過渡。由事件觸發,如hover、active等等
animation:動畫。定義keyframes,再用animation應用動畫
用這些東西能夠實現常見的酷炫效果,例如:
過渡可讓簡單動畫平滑進行,好比鼠標懸停時連接文本「飄」向右邊,div寬度緩慢增大至指定值等等
3D變換能夠顯示背面,好比鼠標進入,出現圖片翻轉效果
變換能夠實現綬帶效果,好比常見的右上角斜向fork me on githup,具體實現請查看博客園:給你的博客加上「Fork me on Github」綵帶
有一篇很是強大的完整教程:前端開發博客:CSS3彈性盒模型flexbox完整版教程
Can I Use:[IE8+]以及其它瀏覽器對CSS/HTML5屬性支持性
Modernizr:檢測瀏覽器對HTML5和CSS3特性支持的JS庫,優雅降級的不二選擇
代碼生成工具:
CSS3Please:自動填充瀏覽器前綴,還能夠在線測試CSS3效果
CSS Gradient Generator:快速生成漸變
免費字體:Fontsquirrel:大量能夠免費下載的英文字體
CSS3教程/文檔:CSS3 Info,國外論壇,文章更新得比較慢,好像有點沒落了
CSS3新技術:MDN,源碼免登陸下載
《THE BOOK OF CSS3》
前輩博文若干