自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CSS必須要知道的10個(gè)技巧

開發(fā) 前端
本文介紹了DIV+CSS的10個(gè)技巧,其實(shí)也就是對常用的一些規(guī)則,屬性以及HACK的問題進(jìn)行了新的整理,在校中學(xué)習(xí)和實(shí)習(xí)的朋友必備。

1.css font的簡寫規(guī)則

當(dāng)我們寫字體樣式的時(shí)候,我們也許會這樣子寫

  1. font-size1em;  
  2. line-height1.5em;  
  3. font-weightbold;  
  4. font-styleitalic;  
  5. font-varient: small-caps;  
  6. font-familyverdana,serif 

其實(shí),這樣寫是完全多余的,我可以只用font 來寫就OK了。

比如:

  1. font1em/1.5em bold italic small-caps verdana,serif 

2.把幾個(gè)class屬性寫在一起。

通常情況寫,屬性里面的class只有一個(gè)值,但這并不是意外著你只能給它

賦一個(gè)class名,我們可以賦2個(gè)以上。比如

  1. <p class="text side">...</p> 

不過,需要注意的是,class里面是用空格把他們分開來的,而不是“,”,這點(diǎn)需要注意一下。這樣運(yùn)用了,那么text和side的class 就會運(yùn)用到p元素中。

3.CSS的 border的默認(rèn)值

border也就是邊框的值,我在做項(xiàng)目開發(fā)的時(shí)候,很習(xí)慣的做法是:

border:1px solid red;第一個(gè)指的是框的大小,第二個(gè)是指樣式,第三個(gè)是指顏色。不過,這里3個(gè)并非都是必須要的,必須要用的是border的樣式。其余2個(gè)有默認(rèn)值。

比如,你這樣寫:

  1. bordersolid 

如果你這樣寫了,那么默認(rèn)值第一個(gè)大小的默認(rèn)值是:medium(相對于3px或4px左右)以及顏色指的是文本里面的顏色。

4.!important 在IE中會被忽視

因?yàn)闉g覽器之間的不兼容性,我們在寫css的時(shí)候,為了保證網(wǎng)站能在各個(gè)

瀏覽器之間保持兼容性,所以 我們需要使用!important這個(gè)屬性。

如果你在css使用了這個(gè),那么它的優(yōu)先級會比和它同名屬性的優(yōu)先級高。

這個(gè)是給除了給IE以外的瀏覽器用的。

比如

  1. margin-top3.5em !importantmargin-top2em 

上面指的是,除IE之外的瀏覽器是3.5em,而IE是2em。這個(gè)很有用。

5.Image的alt屬性

我們在網(wǎng)站開發(fā)的時(shí)候,我們常常被建議使用HTML標(biāo)簽來顯示文本,而不是圖像。這樣可以使得網(wǎng)站具有更快的加載速度以及可訪問性。舉個(gè)例子說,你開發(fā)了一個(gè)網(wǎng)站,你想在你網(wǎng)站的每一個(gè)頁面的頁面頂端放一個(gè)"購買物品"?,F(xiàn)在加入你是一個(gè)賣家,那么你很期望你的物品能被搜索引擎找到,也許你會這么做:

  1. <h1><img src="widget-image.gif" alt="購買物品" /></h1

實(shí)現(xiàn)了,但是這里需要注意的是,搜索引擎并不會關(guān)注alt里的關(guān)鍵字因?yàn)楝F(xiàn)在很多的賣家都是這樣子),所以白搭。所以,我們可以用css來代替

如下:

  1. <h1><span>購買物品</span></h1

然后定義css:

  1. h1 
  2. {  
  3. backgroundurl(widget-image.gif) no-repeat;  
  4. }  
  5.  
  6. h1 span  
  7. {  
  8. positionabsolute;  
  9. left:-2000px 
  10. }  

這樣子就OK了,迎合了搜索引擎的口味。所以呀,搜索引擎真的傷不起呀。

6.盒模型hack問題

這個(gè)問題比較難,不過說實(shí)在話的現(xiàn)在用的機(jī)會也比較少。因?yàn)樗婕暗絀E5問題,現(xiàn)在誰敢說還在用IE5?拉出去斃了。

不管如何,我們還了解一下 總沒有壞處。

IE5和其他瀏覽器(IE 6+ 以及chrome等等)對邊框的計(jì)算是不一樣的呢,怎么說呢?請看下圖

圖1

圖2

圖1是我們現(xiàn)在正確的理解,就是說整個(gè)box的width的值是:內(nèi)容的width+padding+boder 3個(gè)值的相加。

然而,在IE5中不是這樣子的哦,請看上圖,它的內(nèi)容只有170px。所以這就出現(xiàn)了問題了。

比如 代碼說明:

  1. #sidebar {  
  2. width200px;  
  3. padding10px;  
  4. border5px solid black;  

把寬度設(shè)定為200像素,但是側(cè)邊欄實(shí)際需要230像素的空間,除了IE5 for Windows以外. IE5 for Windows 里側(cè)邊欄總共會占用200像素,把內(nèi)補(bǔ)丁和邊框都算在里面.圖2 顯示的是當(dāng)width屬性指定為200像素時(shí),邊框和內(nèi)補(bǔ)丁會占用內(nèi)容空間,而不是內(nèi)容空間之外.

對IE5 for Windows來說,則需要把寬度指定為230像素(加上兩側(cè)內(nèi)補(bǔ)丁和邊框的寬度),接著再以200像素覆蓋回來,讓符合標(biāo)準(zhǔn)的瀏覽器得到正確的寬度.

  1. #sidebar {  
  2. padding10px;  
  3. border5px solid black;  
  4. width230px/* for IE5/Win */ 
  5. voice-family"\"}\"";  
  6. voice-family: inherit;  
  7. width200px/* actual value */ 

留意IE5 for Windows的值先出現(xiàn),接著幾條讓IE5 for Windows認(rèn)為聲明已經(jīng)結(jié)束的規(guī)則,在此我們使用voice-family屬性,原因單純只是瀏覽器認(rèn)得它的話也不會改變視覺效果,最后指定實(shí)際的寬度,覆蓋最初的width規(guī)則,第二個(gè)width規(guī)則會被IE5 for Windows忽略.

結(jié)果在IE5 for Windows以及其他所有兼容CSS2的瀏覽器上看起來應(yīng)該完全相同.沒有使用這個(gè)hack的話,IE5 for Windows的使用者就會看到比設(shè)計(jì)還瘦的欄寬。

7.塊級元素的居中效果

塊級元素?你不會這個(gè)都不懂了。不懂,我就羅嗦一下,就是指div、h1、table這類元素。相對應(yīng)的就是inline元素了,比如label等等。

通俗點(diǎn)就是,一個(gè)會占一行(當(dāng)然在沒有其他屬性的支持下),另一個(gè)不會。OK。

一般來說,對div居中,我都會寫下面的寫法:

  1. #content  
  2. {  
  3. width700px;  
  4. margin0 auto;  

然后,我們很高興的 就能在正常的瀏覽器到效果,請注意,我說了正常2個(gè)子,那這也說明,有不正常的情況下?什么情況呢?和上面的第六點(diǎn)一樣,也是IE5的問題,在IE5下面,它根本就不懂這個(gè),你說它能解決問題嘛?。

所以,我們只好按照下面的來實(shí)現(xiàn):

  1. body  
  2. {  
  3. text-aligncenter;  
  4. }  
  5.  
  6. #content  
  7. {  
  8. text-alignleft;  
  9. width700px;  
  10. margin0 auto;  
  11. }   

OK,就樣就能很好的兼容了。

8.垂直調(diào)整(vertical aligning)

當(dāng)我們在使用table的時(shí)候,如果我們需要把一列的內(nèi)容居中排列怎么做?不用問,我們理所當(dāng)然的是,用下面的這行句話:

  1. vertical-alignmiddle 

很多時(shí)候,這樣可以工作,可總有例外。比方說,你現(xiàn)在有一個(gè)導(dǎo)航菜單,它的高度是2em,如果你插入這個(gè)命令的話,sorry,它不會進(jìn)行執(zhí)行,并且會把文字放到頂端。

那怎么解決呢?很簡單。

你只需要把box模型的的高度的line height指定成一樣就可以了。如下:

  1. line-height2em  

9.絕對定位和相對定位

這個(gè)應(yīng)該是在css教程里比較難的部分吧,一下子也真的很難說清楚,有興趣的可以找找資料看。給個(gè)例子:

  1. #container  
  2. {  
  3. positionrelative 
  4. }  
  5.  
  6. <div id="container"><div id="navigation">...</div></div>  

接著我設(shè)定里面navigation的樣式

  1. #navigation  
  2. {  
  3. positionabsolute;  
  4. left: 30px;  
  5. top: 5px 
  6. }  

這個(gè)說明了里面的navigationo相對于外面的來說 進(jìn)行定位。

10.不需要給背景圖片路徑加引號

比如:

  1. background:url("images/***.gif"#333

你應(yīng)該把引號去掉

  1. background:url(images/***.gif) #333

如果你加了引號,反而會引起一些瀏覽器的錯(cuò)誤。

原文鏈接:http://www.cnblogs.com/damonlan/archive/2012/04/09/2437184.html

【編輯推薦】

  1. 用原生JS進(jìn)行CSS格式化和壓縮
  2. CSS布局:40個(gè)教程、技巧、例子和最佳實(shí)踐
  3. 實(shí)現(xiàn) HTML5 和 CSS3 的跨瀏覽器功能
  4. 新浪微博CSS3適用細(xì)節(jié)初探
  5. 10個(gè)方便的在線CSS代碼生成器
責(zé)任編輯:林師授 來源: 隨風(fēng)浪跡天涯的博客
相關(guān)推薦

2024-04-09 16:24:18

Promise開發(fā)

2024-08-27 11:55:38

2019-08-06 14:54:22

Hadoop數(shù)據(jù)集海量數(shù)據(jù)

2010-07-27 11:24:51

Flex

2023-05-12 14:49:47

CSS框架前端

2019-02-18 13:36:03

Redis數(shù)據(jù)庫面試

2018-11-28 10:00:42

React組件前端

2011-07-13 11:03:17

ASP

2014-01-10 13:29:44

微軟Office 365云計(jì)算

2013-03-04 09:34:48

CSSWeb

2023-01-09 17:23:14

CSS技巧

2021-06-07 14:04:13

并發(fā)編程Future

2022-09-27 14:36:57

JavaScrip數(shù)組開發(fā)

2020-11-10 08:30:58

Gartner數(shù)字化技術(shù)

2024-08-06 14:54:16

2022-04-28 12:17:26

瀏覽器連字符hyphens

2017-12-01 17:35:02

2020-03-27 12:30:39

python開發(fā)代碼

2024-05-06 00:00:00

JS運(yùn)算符代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號