DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> 實現透視效果用css來實現
實現透視效果用css來實現
編輯:CSS詳解     

今天萌發一個想法,用css來實現透視效果。起初,我想到的是我們常見的添加陰影效果的方法,用多個div通過偏移來實現,但這需要很多 div,不夠理想。隨後,我想到CSS的一個屬性:border,在border相連接處可以產生對角線效果。這樣用兩個div就可以實現,我們先看看最終效果,然後再分析實現過程。

首先,我們看看border如何生成的對角線效果,在你的Html的頭部增加以下代碼,你就會看到這樣的效果

vIEw sourceprint? 1..border{width:0;height:0;border-width:50px;border-color:#f00#0f0#00f#000;border-style:solid;}

有了上面的基礎,我們就可以用兩個額外的div來實現透視效果。

一、Html代碼如下:

vIEw sourceprint? 1.<divclass="perspective-outer"> 2.    <divclass="perspective-r"></div> 3.    <divclass="perspective-b"></div> 4.    <divclass="perspective-inner">透視效果元素</div> 5.</div>

二、CSS代碼:

vIEw sourceprint? 01..perspective-outer{ 02.    position:relative; 03.    width:170px;/*要實現透視效果元素的寬度+透視距離*/ 04.    height:140px;/*要實現透視效果元素的高度+透視距離*/ 05.} 06..perspective-inner{ 07.    border:1pxsolid#f60; 08.    height:118px; 09.    width:148px; 10.    background-color:#fff; 11.} 12..perspective-r, 13..perspective-b{ 14.    position:absolute; 15.    width:0; 16.    height:0; 17.} 18..perspective-r{ 19.    right:0; 20.    height:100px;/*要實現透視效果元素的高度(120px) - (border-top:20px)*/ 21.    border-left:20pxsolid#000;/*右邊透視距離*/ 22.    border-top:20pxsolid#fff;/*下邊透視距離*/ 23.} 24..perspective-b{ 25.    bottom:0; 26.    width:150px;/*最外元素的寬度(170px) - border-left*/ 27.    border-left:20pxsolid#fff; 28.    border-top:20pxsolid#000; 29.}

.perspective-outer定義高度和寬度,並相對定位,確保右邊和下邊的透視區域能定位的相應的位置,高度值和寬度值為要實現透視效果元素的高度加上相應的透視距離。.perspective-r只需設置高度值,其值為.perspective-outer的高度減去border-top,.perspective-b只需設置寬度值,其值為.perspective-outer的寬度減去border-left。.perspective-r的border-top和.perspective-b的border-left的width值決定透視角度。.perspective-r的border-left和.perspective-b的border-top的width值 決定透視距離。其中.perspective-r的border-top和.perspective-b的border-left的color為父元素的背景顏色,我這裡的測試頁面父元素為body,所以為白色。

三、後記

本文只是做一個簡單得測試,其目的在於拋磚引玉。這種方法其實用性究竟有多大,咱姑且不論,但至少可以給我們一種解決問題的思路。希望此文能對你有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved