1. 程式人生 > >純CSS製作圓角矩形框知識總結

純CSS製作圓角矩形框知識總結

    在製作後臺登入頁的時候,需要從網頁上面把那個圓角矩形框選取下來,然後通過Photoshop進行切割,在進行設定,最後得到需要的登入框的圓角矩形框。如下圖。


    但是登入最新的智囊團的那個登入頁面的時候,上面的那個圓角矩形框已經沒有了,最新的登陸頁面跟QQ郵箱登入頁面一樣,沒有了圓角矩形框。所以我就想到了用css自己堆出來一個圓角矩形框,通過查詢資料,以及自己的一些使用方法的改進,最終得到了自己所需要的圓角矩形框——純CSS設計圓角矩形框

下面講一下思路:圓角矩形框的難點就在於如何把那個圓角表示出來,其實我們把那個圓角的地方放大一下就會發現,所謂的圓角並不是嚴格的圓角,只是由於線條看起來比較和諧,那個圓角其實也是直角的框的那個直角。


這就是一個放大了的圓角矩形框,可以看到圓角的具體構成。

明白了原理,下面是程式碼的實現部分,非常簡單:

<span style="font-family:KaiTi_GB2312;font-size:24px;"><%--製作圓角矩形的程式碼-HTML程式碼部分--%>
            <div class="divbox">
                <div class="div1"></div>
                <div class="div2"></div>
                <div class="divmiddle">
                   主要內容
                </div>
                <div class="div2"></div>
                <div class="div1"></div>
            </div>
</span>
<span style="font-family:KaiTi_GB2312;font-size:24px;">/*圓角框的製作-CSS程式碼部分*/

.divbox {
    width: 580px;     
}

/*.div1 .div2 .divmiddle{
    float :right  ;
}*/
.div1 {
    background: #999999;
    border-left: #999999 solid 3px;
    border-right: solid 3px #999;
    margin: 0px 6px;
    height: 3px;
    overflow: hidden;
}

.div2 {
    background: #FFF;
    border-left: #999999 solid 3px;
    border-right: solid 3px #999;
    margin: 0px 2px;
    height: 3px;
    overflow: hidden;
}

.divmiddle {
    height: 285px;
    border-left: #999999 solid 3px;
    border-right: solid 3px #999;
}
.divmiddle p,h3,btnLogin,btnCancel{
    float :right ;
}
</span>

通過程式碼可以看出,圓角矩形框通過3類的div標籤進行組合設計,最終形成一個圓角矩形框。這裡關鍵的是overflow屬性,是把被覆蓋的內容給隱藏了,所以可以露出自己需要的部分,這裡的技巧需要讀者自己思考。

接下來就是實戰了,在middle中新增如下程式碼:


按照正常的理解,在圓角矩形框中會出現一系列的控制元件,事實上也是如此,但是卻出現了另外一個問題,如下圖:


圓角矩形框的邊出現了空白,這是由於在使用了<h3>,在這個正常流中<h3>這個部分的寬度比較大,把左右兩邊的正常流的邊給撐開了,所以出現了斷線的部分。那麼只要把<h3>的部分從正常流中拿走就可以改正這個缺點,對,就是float屬性,下面的效果是經過我半個下午2個小時的不斷除錯,最終形成的結果:

    通過float屬性,浮動控制元件,然後再重新進行定位,這樣的效果看似簡單,後面包含的過程卻是對自己知識的一個總結提升,這個過程對我來說非常享受,全身心的投入到最後的效果出來,感覺那真是爽。當然了這個設計效果還是有提升空間的,比如把整個的框移到垂直方向上的中間線,等等,那就發揮你的想象力吧。