在日常學習和工作中,你是否經常覺得時間不夠用?為了幫助你提高效率,今天,就為大家分享一些CSS小技巧,如果你感覺有用,也可以收藏與分享給你的小夥伴們~
將一段文字置於容器的水平中點,只要設置text-align屬性即可:
先該容器設置一個明確寬度,然後將margin的水平值設為auto即可。
div#container {
width:760px;
margin:0 auto;
}
單行文字的垂直居中,只要將行高與容器高設為相等即可。
比如,容器中有一行數字。
<div id="container">1234567890</div>
div#container
{height: 35px;
line-height: 35px;
}
如果有n行文字,那麼將行高設為容器高度的n分之一即可。
比如,有一大一小兩個容器,請問如何將小容器垂直居中?
<div id="big">
<div id="small">
</div>
</div>
div#big{
position:relative;
height:480px;
}
然後,將小容器定位為absolute,再將它的左上角沿y軸下移50%,最後將它margin-top上移本身高度的50%即可。
div#small {
position: absolute;
top: 50%;
height: 240px;
margin-top: -120px;
}
如何使得較大的圖片,能夠自動適應小容器的寬度?CSS可以這樣寫:
要使按鈕具有3D效果,只要將它的左上部邊框設為淺色,右下部邊框設為深色即可。
div#button {
background: #888;
border: 1px solid;
border-color: #999 #777 #777 #999;
}
body {
font: font-style font-variant font-weight font-size line-height font-family;
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
font-weight: normal;
font-variant: small-caps;
font-style: italic;
line-height: 150%;
}
body {
font: italic small-caps normal 13px/150% Arial, Helvetica, sans-serif;
}
link的四種狀態,需要按照下面的前後順序進行設置:
a:link
a:visited
a:hover
a:active
如果同一個容器被多條CSS語句定義,那麼哪一個定義優先呢?
基本規則是:
行內樣式 > id樣式 > class樣式 > 標籤名樣式
比如,有一個元素:
<div id="ID" style="color:black;"></div>
行內樣式是最優先的,然後其他設置的優先性,從低到高依次為:
div < .class < div.class < #id < div#id < #id.class < div#id.class
瀏覽器的預設字體大小是16px,你可以先將基準字體大小設為10px:
後面統一採用em作為字體單位,2.4em就表示24px。
11. Text-transform和Font Variant
Text-transform用於將所有字母變成小寫字母、大寫字母或首字母大寫:
p {text-transform: uppercase}
p {text-transform: lowercase}
p {text-transform: capitalize}
Font Variant用於將字體變成小型的大寫字母(即與小寫字母等高的大寫字母)。
p {font-variant: small-caps}
CSS重置用於取消瀏覽器的內置樣式,請參考YUI和Eric Meyer的樣式表。
默認情況下,瀏覽器使用一個黑圓圈作為列表標誌,可以用圖片取代它:
ul {list-style: none}
ul li {
background-image: url("path-to-your-image");
background-repeat: none;
background-position: 0 0.5em;
}
.element {
filter:alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
在這四行CSS語句中,第一行是IE專用的,第二行用於Firefox,第三行用於webkit核心的瀏覽器,第四行用於Opera。
然後,將它四個邊框中的三個邊框設為透明,剩下一個設為可見,就可以生成三角形效果:
.triangle {
border-color: transparent transparent green transparent;
border-style: solid;
border-width: 0px 300px 300px 300px;
height: 0px;
width: 0px;
}
如果你希望文字在一行中顯示完成,不要自動換行,CSS命令如下:
h1 { white-space:nowrap; }
有時我們需要在標題欄中使用圖片,但是又必須保證搜尋引擎能夠讀到標題,CSS語句可以這樣寫:
h1 {
text-indent:-9999px;
background:url("h1-image.jpg") no-repeat;
width:200px;
height:50px;
}
input:focus { border: 2px solid green; }
多條CSS語句互相衝突時,具有!important的語句將覆蓋其他語句。由於IE不支持!important,所以也可以利用它區分不同的瀏覽器。
h1 {
color: red !important;
color: blue;
}
上面這段語句的結果是,其他瀏覽器都顯示紅色標題,只有IE顯示藍色標題。
<a href="#">連結文字 <span>提示文字</span></a>
a.tooltip {position: relative}
a.tooltip span {display:none; padding:5px; width:200px;}
a:hover {background:#fff;} /*background-color is a must for IE6*/
a.tooltip:hover span{display:inline; position:absolute;}