CSS之小技巧

2021-07-09 08:33:54 字數 2526 閱讀 2075

css樣式設計小技巧

水平居中設定-行內元素

如果被設定元素為文字、等行內元素時,水平居中是通過給父元素設定 text-align:center 來實現的。

水平居中設定-定寬塊狀元素

當被設定元素為塊狀元素時用 text-align:center 就不起作用了,這時也分兩種情況:定寬塊狀元素和不定寬塊狀元素。

滿足定寬和塊狀兩個條件的元素是可以通過設定「左右margin」值為「auto」來實現居中的。

水平居中總結-不定寬塊狀元素方法(一)

在實際工作中我們會遇到需要為「不定寬度的塊狀元素」設定居中,比如網頁上的分頁導航,因為分頁的數量是不確定的,所以我們不能通過設定寬度來限制它的彈性。

不定寬度的塊狀元素有三種方法居中(這三種方法目前使用的都比多):

a.加入 table 標籤

b.設定 display;inline 方法

c.設定 position:relative 和 left:50%;

這一小節我們來講一下第一種方法:

第一步:為需要設定的居中的元素外面加入乙個 table 標籤 ( 包括 、、)。

第二步:為這個 table 設定「左右 margin 居中」(這個和定寬塊狀元素的方法一樣)。

舉例如下:

html**:

href="#">1a>

li>

href="#">2a>

li>

href="#">3a>

li>

ul>

td>

tr>

tbody>

table>

div>

css**:

table

ulli

style>

水平居中總結-不定寬塊狀元素方法(二)

第二種方法:改變塊級元素的 dispaly 為 inline 型別,然後使用 text-align:center 來實現居中效果。

這種方法相比第一種方法的優勢是不用增加無語義標籤,簡化了標籤的巢狀深度,但也存在著一些問題:它將塊狀元素的 display 型別改為 inline,變成了行內元素,所以少了一些功能,比如設定長度值。

方法三:通過給父元素設定 float,然後給父元素設定 position:relative 和 left:50%,子元素設定 position:relative 和 left:-50% 來實現水平居中。

.container

.container

ul .container

listyle>

這種方法可以保留塊狀元素仍以 display:block 的形式顯示,優點不新增無語議表標籤,不增加巢狀深度,但它的缺點是設定了 position:relative,帶來了一定的***。

這三種方法使用得都非常廣泛,各有優缺點,具體選用哪種方法,可以視具體情況而定。

垂直居中-父元素高度確定的單行文字

父元素高度確定的單行文字的豎直居中的方法是通過設定父元素的 height 和 line-height 高度一致來實現的。

垂直居中-父元素高度確定的多行文字(方法一)

方法一:使用插入 table (包括tbody、tr、td)標籤,同時設定 vertical-align:middle。

說到豎直居中,css 中有乙個用於豎直居中的屬性 vertical-align,但這個樣式只有在父元素為 td 或 th 時,才會生效。所以又要插入 table 標籤了。

垂直居中-父元素高度確定的多行文字(方法二)

在 chrome、firefox 及 ie8 以上的瀏覽器下可以設定塊級元素的 display 為 table-cell,啟用 vertical-align 屬性,但注意 ie6、7 並不支援這個樣式。

css**:

.container

style>

這種方法的好處是不用新增多餘的無意義的標籤,但缺點也很明顯,它的相容性不是很好,不相容 ie6、7。

隱性改變display型別

有乙個有趣的現象就是當為元素(不論之前是什麼型別元素,display:none 除外)設定以下 2 個句之一:

position : absolute

float : left 或 float:right

元素會自動變為以 display:inline-block 的方式顯示,當然就可以設定元素的 width 和 height 了且預設寬度不佔滿父元素。

如下面的**,小夥伴們都知道 a 標籤是行內元素,所以設定它的 width 是 沒有效果的,但是設定為 position:absolute 以後,就可以了。

class="container">

href="#"

title="">進入課程請單擊這裡a>

div>

css**

.container

a

style>

css之小技巧

css之小技巧 1.margin的計算規則 margin百分比都是相對於容器的寬度計算的,例如 img div 父元素 位於上60px,左60px2.絕對定位元素的百分比margin 例如 img 位於上102.4px,距離祖先元素的距離3.寬度2 1自適應矩形 box box div4.一側定寬的...

CSS揭秘之《小技巧》

1 在增強網頁設計效果時,應該使用生成性內容,而不是依賴冗餘的標籤和。2 要把表單元素的字型設定為與頁面的其他部分相同,你並不需要重複指定字型屬性,只需利用 inherit 的特性即可 3 利用 css 自身的機制來組織回退樣式,而不是依賴 css hack 來實現 eg 正確的 組織方式應該是先寫...

CSS小技巧之盒子那點事兒

說起css盒子模型,很多人都會覺得不就是margin padding border width height那點事兒嗎,對,就說說這點事。css盒子模型的作用 決定盒子有多大,即能有多大的空間給元素用來展示,物件的邊界,留白,物件的大小,還有就是去其他元素的相對位置。注意事項 如果乙個盒子的寬度設定...