WEB开发网      濠电姷鏁告繛鈧繛浣冲洤纾瑰┑鐘宠壘閻ょ偓銇勯幇鍫曟闁稿鍠愰妵鍕冀閵娧佲偓鎺楁⒒閸曨偄顏柡宀嬬畱铻e〒姘煎灡绗戦梻浣筋嚙濮橈箓顢氳濠€浣糕攽閻樿宸ュΔ鐘叉啞缁傚秹宕滆绾惧ジ寮堕崼娑樺缂佹宀搁弻鐔风暋閻楀牆娈楅梺璇″枓閺呯姴鐣疯ぐ鎺濇晝闁靛牆妫欓蹇旂節閻㈤潧浠﹂柛銊ョ埣楠炴劙骞橀鑲╋紱闂佽宕樼粔顔裤亹閹烘挸浜归梺缁樺灦閿曗晛螞閸曨垱鈷戦柟鑲╁仜婵″ジ鎮楀☉鎺撴珖缂侇喖顑呴鍏煎緞濡粯娅囬梻浣瑰缁诲倿寮绘繝鍥ㄦ櫇闁稿本绋撻崢鐢告煟鎼淬垻鈯曢柨姘舵煟韫囥儳绋荤紒缁樼箖缁绘繈宕橀妸褌绱濋梻浣筋嚃閸ㄤ即宕弶鎴犳殾闁绘梻鈷堥弫鍌炴煕閳锯偓閺呮瑧妲愬Ο琛℃斀闁绘劕妯婇崵鐔封攽椤旇棄鍔ら摶鐐烘煕閺囥劌澧柛娆忕箻閺屽秹宕崟顒€娅g紓浣插亾濠㈣泛顑囩粻楣冩煙鐎涙ḿ绠橀柨娑樼У椤ㄣ儵鎮欓鍕紙闂佽鍠栫紞濠傜暦閹偊妲诲┑鈩冨絻椤兘寮诲☉銏犖╅柕澶堝労閸斿绱撴担绋库偓鍝ョ矓瑜版帒鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘 ---闂傚倸鍊烽悞锔锯偓绗涘厾娲煛閸涱厾顔嗛梺璺ㄥ櫐閹凤拷
开发学院网页设计DivCss CSS3与CSS1实现双线框方法比较 阅读

CSS3与CSS1实现双线框方法比较

 2010-08-01 19:36:43 来源:WEB开发网 闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�闂傚倸鍊风粈渚€骞夐敓鐘插瀭闁汇垹鐏氬畷鏌ユ煙閹殿喖顣奸柛搴$У閵囧嫰骞掗幋婵冨亾閻㈢ǹ纾婚柟鐐灱濡插牊绻涢崱妤冃℃繛宀婁簽缁辨捇宕掑鎵佹瀸闂佺懓鍤栭幏锟�濠电姷鏁告慨顓㈠箯閸愵喖宸濇い鎾寸箘閹规洟姊绘笟鈧ḿ褍煤閵堝悿娲Ω閳轰胶鍔﹀銈嗗笂閼冲爼鍩婇弴銏$厪闁搞儮鏅涙禒褏绱掓潏鈺佷槐闁轰焦鎹囬弫鎾绘晸閿燂拷闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�  闂傚倸鍊烽懗鑸电仚缂備胶绮〃鍛村煝瀹ュ鍗抽柕蹇曞У閻庮剟姊虹紒妯哄妞ゆ劗鍘ч埥澶娢熼柨瀣偓濠氭⒑瑜版帒浜伴柛鎾寸☉閳绘柨顫濋懜纰樻嫼闂佸憡绋戦オ鏉戔枔閺冣偓缁绘稓浠﹂崒姘瀳闂佸磭绮幑鍥嵁鐎n亖鏀介柟閭﹀墯椤斿倹淇婇悙顏勨偓鏍ь潖婵犳艾鍌ㄧ憸蹇涘箟閹绢喗鏅搁柨鐕傛嫹
核心提示:初看标题,你可能还反应不过来什么是“双线框”,CSS3与CSS1实现双线框方法比较,下面的图可以让你看到什么是所谓的“双线框”,这在网页设计中比较常见,只是背景色由纯色变成了渐变色而已,如果你了解CSS3的gradient属性,图 1: 常规双线框有了图 1的图示,估计很多人已想到了实现该图效果的方法

初看标题,你可能还反应不过来什么是“双线框”。下面的图可以让你看到什么是所谓的“双线框”,这在网页设计中比较常见。

双线框之CSS3 VS. CSS1
图 1: 常规双线框

有了图 1的图示,估计很多人已想到了实现该图效果的方法。是的,就算没有CSS3,实现这样的效果也是信手拈来。

其实,看到double border这样的字眼,应该就会想到,border-style(在CSS1中已实现,故所有现代浏览器均支持)有个double参数值。double所表现出来的效果就是如图 1般:2条有间隔(你所看到的这个白色间隔并不是1根白色的线条,而是真正的缝隙)的线条。

需要说明的是:border-style的double参数值需要border-width在不小于3px的情况下使用,2条线条与之间的间隔之和等于border-width的值。

我们来看看图 1的border-style实现(Code 1):

.test{
  border:3px double #000;
  }
  double border

你可以试着将Code 1的3px进行修改,会发现,2条线条和间隔,这3者总是自动去对这个值进行分配,所以无法有针对的指定对2条线条和间隔的width。也就是说,你无法实现2条1px的线条夹着1个3px的间隔,也无法实现2条3px的线条夹着1个1px的间隔。

当然,上面所说的这点,并不是最纠结的问题。真正影响实际应用的问题在于:

无法为2根线条指定不同的颜色;
  无法单独为这个间隔指定背景色;
  无法只保留外边框而去掉内边框。

也就是说你可以通过Code 1的方法去实现图 1,并且也能实现如下列的图 2和图 3。

双线框之CSS3 VS. CSS1
图 2: 带背景色的双线框

双线框之CSS3 VS. CSS1
图 3: 背景色不包括border的双线框

但却做不到如下列的图 4,图 5,图 6。

双线框之CSS3 VS. CSS1
图 4: 2条线条颜色不同的双线框

双线框之CSS3 VS. CSS1
图 5: 间隔设置了颜色的双线框

双线框之CSS3 VS. CSS1
图 6: 去掉了内边框的双线框

自然,如图 7的常见效果就无法做到了。

双线框之CSS3 VS. CSS1


图 7: 常见双线框效果

既然标题是CSS3 VS. CSS1,那么CSS1的实现方法已经有了,我们再看看CSS3的实现方式吧。很简单,我们要用到的正是我之前所写文章“CSS3 border-colors创建惊艳多重边框色“中的多重边框色:border-colors。

也就是说,只需要多每组的颜色进行一些设置,就可以实现border-style方案所纠结的问题。但这种方法也存在着瓶颈,因为当前并非所有浏览器都对CSS3支持良好。

看看DEMO:css3 double border双线框效果的2种实现方式。你可以在该DEMO内的border-colors方法里修改一些颜色和边框的宽度,就能实现从图 1到图 6,至于图 7,只是背景色由纯色变成了渐变色而已。如果你了解CSS3的gradient属性,这个也很容易实现。

Tags:CSS CSS 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接