CSS縱向居中問題

2022-03-10 01:29:58 字數 1747 閱讀 1665

學習css有一些日子了,雖然不是經常使用,但有時間還會有意識地去看一些這方面的書或**。但就是沒有解決縱向居中的問題,都是用padding-top去控制,感覺怪怪的。今天到www.w3cn.org**去看了些文章,無意中看到了這方面的例子演示。原來這麼簡單,一行**即可搞定。

只需設定一下line-height即可。

原文**:

原文如下:

如何用css製作橫向選單?

我們先來看乙個選單的例子,最終效果是:

然後我們來詳細講解步驟

第一步:建立乙個無序列表

我們先建立乙個無序列表,來建立選單的結構。**是:

效果是:

第二步:隱藏li的預設樣式

因為看起來不是很好看,選單通常都不需要li預設的圓點,我們給ul定義乙個樣式來消除這些圓點。

當然,為了更好的控制整個選單,我們把選單放在乙個div裡。頁面**變成:

css定義為:

.test ul

說明:「.test ul」表示我要定義的樣式將作用在test的層裡的ul標籤上。

現在的效果是沒有圓點了:

第三步:關鍵的浮動

這裡是選單變成橫向的關鍵,我們給li元素加上乙個「float:left;」屬性,讓每個li浮動在前面乙個li的左面。

css定義為:

.test li

效果是:

看,選單變橫向了。就這麼簡單!下面需要做的就是優化細節了。

第四步:調整寬度

選單都擠在一起不好看怎麼辦?我們來調節li的寬度。

在css中新增定義width:100px指定乙個li的寬度是100px,當然你可以根據你的需要調整數值:

.test li

效果是:

如果我們同時定義外面div的寬度,li就會根據div的寬度自動換行,例如定義了div寬350px,6個li的總寬度是600px,一行排不下就自動變成兩行:

.test

效果是:

接下來,我們通過css來設定鏈結的樣式,分別定義:link、:visited、:hover的狀態

.test a:link

.test a:visited

.test a:hover

效果是:

有朋友問,選單鏈結的背景色為什麼沒有填滿整個li的寬度?恩,解決的方法很簡單,在a的樣式定義中增加display:block,使鏈結以塊級元素顯示。

同時我們微調了如下細節:

css定義象這樣:

.test a

.test li

效果變成:

這樣就漂亮多了吧。

.test a:link

.test a:hover

說明:「background:url(arrow_off.gif) #ccc no-repeat 5px 12px;」這句**是乙個css縮寫,表示背景是arrow_off.gif;背景顏色是#ccc;背景不重複"no-repeat",背景的位置是左邊距5px、上邊距12px;

預設狀態下,圖示為arrow.off.gif,當滑鼠移動到鏈結上,圖示變為arrow_on.gif

效果變成:

現在css的完整**是:

.test ul

.test li

.test a

.test a:link

.test a:visited

.test a:hover

頁面的完整**是:

好了,主要步驟就是這7步,立刻拷貝和修改**試試,你也可以用css做橫向選單了!

CSS 居中問題

text align center margin auto div height 100px line height 100px 使用插入table 包括tbody tr td 標籤,同時設定vertical align middle 看我是否可以居中 看我是否可以居中 看我是否可以居中 看我是否可...

CSS居中問題

1.左浮後,想居中 給他 爸爸 居中,如果沒有寬度,不能用 margin 0 auto 可以用text align center 2.繼1,如果 爸爸 也沒有確定的寬,想變窄 爸爸 只能也變成display inline block 3.把margin設為auto 具體來說就是把要居中的元素的mar...

css 居中問題

a.如何設定css實現div的水平居中 css樣式 div 這句css居中的意思就是讓div自己調整左右margin間隔的距離以達到水平居中的效果。有時候我們還可以簡寫為div但這樣的簡寫法,如果你調整 margin top 或者 margin bottom 就會失去css居中的水平居中效果,所以最...