国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

CSS3實例教程:探索cal()功能

2024-07-11 09:02:21
字體:
供稿:網(wǎng)友

武林網(wǎng)(www.survivalescaperooms.com)文章簡介:CSS3中有很多的隱藏的模塊與功能。在這里我們將探索cal()功能;這個功能可能會改變你以前設(shè)計布局的方式.



假設(shè)一個網(wǎng)站的設(shè)計要包含2個浮動的元素,你想要用一個60px的水平線將其分成2個相同寬度的元素,聽起來似乎容易?如果頁面設(shè)計的是960px,那么很容易,每個都是450px。

但是如果改元素是一個浮動框或者動態(tài)的布局怎么辦?如果頁面設(shè)計的是600px,那么大部分的設(shè)計者將會將水平線設(shè)置為10%,剩下的各45%,在寬屏或者方屏的瀏覽窗口中將會變形或者有邊距!

幸運的是,新功能cal()功能允許women計算寬度。在上面的例子中,我們就可以將其設(shè)置為總寬度的50%-30px,例如:

#element1, #element2 { float: left; width: calc(50% - 30px); } #element2 { margin-left: 60px; }

如果你想讓水平線的大小是相對于字體大小兒定,如4em,沒問題:

#element1, #element2 { width: calc(50% - 2em); }

或者你想要在元素周圍放一個2px的border,也沒有問題:

#element1, #element2 { width: calc(50% - 2em - 4px); border: 2px solid #000; }

筆者建議盡量是計算簡潔些,但是復雜的計算是能夠?qū)崿F(xiàn)的,例如:

#element1, #element2 { width: calc((50% + 2em)/2 + 14px); }

該元素的瀏覽器支持情況:

Cla()功能是W3C推薦的功能,所以你會猜到哪個瀏覽器會一直支持?

也許你的猜測錯了。在筆者寫這篇文章的時候,只有IE9支持,F(xiàn)irefox也支持(需要其特有的前綴):-moz-cla()。Webkit內(nèi)核的瀏覽器目前還沒有支持(如Chrome和Safari)或者是Opera,改功能很有用的,相信用不了多久這些瀏覽器都會支持的。

幸運的是你可以在你的樣式表(CSS )中使用增強樣式:

element1, #element2 { width: 45%; /* all browsers */ width: -moz-calc(50% - 30px); /* Firefox 4+ */ width: calc(50% - 30px); /* IE9+ and future browsers */ }

請謹記你需要添加相應(yīng)的調(diào)整(以面對不同的瀏覽器)。

#element2 { margin-left: 10%; /* all browsers */ margin-left: -moz-calc(60px); /* Firefox 4+ */ margin-left: calc(60px); /* IE9+ and future browsers */ }

如果你喜歡cal()元素,你可能也會細化min()和max()功能,他們可以解釋2個或2個以上用逗號隔開的元素值并且能夠返回最大值或者最小值。

#myelement { width: max(300px, 30%, 30em); font-size: min(10px, 0.6em); }

這個功能在防止font過于大或者非常小的情況下很有用,但是不幸的是目前比較現(xiàn)代的瀏覽器都不支持min()和max()功能,我們只能默默期待瀏覽器們支持吧~~

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 闸北区| 达州市| 泽库县| 许昌县| 宁陕县| 玉溪市| 乾安县| 交口县| 简阳市| 麻栗坡县| 庆城县| 义马市| 富民县| 东光县| 阳泉市| 穆棱市| 扶余县| 开鲁县| 文昌市| 东乡| 柳林县| 濮阳市| 亚东县| 锡林浩特市| 肇州县| 库车县| 宁明县| 阿拉善右旗| 临沧市| 榆中县| 大竹县| 恩施市| 米泉市| 昂仁县| 米脂县| 鹤峰县| 西充县| 泊头市| 敦化市| 青冈县| 观塘区|