CSS基本知識5-CSS對齊
要對齊的關鍵,在於理解塊,行的概念,塊的對齊主要靠自動計算定位,比如margin:auto,及浮動,所以最好的辦法是儘量使用行來對齊。
例項:
.box { border: 1px solid #808080; height: 200px; line-height: 200px; width: 200px; text-align: center; } .content { color: #ff0000; display: inline-block; margin: 0 auto; width: 80px; height: 20px; }
我們看看這裡所涉及的知識:
首先,我們外面有個盒子,即Box。
1.這個Box的line-height等於高度,那麼就是內容就只有一行,當然如果是一半,那就是二行了。
2.Box的內容是行業元素,那麼很明顯,如果要顯示兩行,但中間要清除浮動,那就相當於“折行”了。
3.text-align:center;這表示,在這個Box的行內,元素居中顯示,很明顯,水平居中就實現了。只要把Box的內容變成行或行塊,加上這個特性就可以水平居中。
4.值得注意的是,行塊本質還是行,即inline-block,那麼對它使用margin:0 auto是不起作用的。而text-align卻起作用了。可見,inline,inline除了有高寬,但本質還是行內元素。
5.那麼總結一下,水平居中,行內元素就使用text-align,那麼,如果把DiV變成inline,那它裡面的內容,就可以使用text-align水平居中了。假如button居中就可以,然後作為行,要顯示次Botton的高度,就設成line-height.
6.反過來,行內元素,要當作塊處理,那麼設成block模式,然後就可以使用塊的方式了,比如Width,Height,margin 0 auto;
7.對於塊,margin:auto是可以水平居中的,但為什麼垂直無效呢?原因很簡單,就是因為“浮動”,所以我們要使用position大法。
8.對內容塊加入position:absolute,再設定上下左右為0,然後設定:margin:auto;直接全居中。
9.當然還有其它演算法,就是上左50%,Margin上左設成高寬的一半負值。
10.最後就是使用 transform: translate(-50%, -50%); /* 50%為自身尺寸的一半 */
相容性不錯的主流用法是:
.element { width: 600px; height: 400px; position: absolute; left: 50%; top: 50%; margin-top: -200px; /* 高度的一半 */ margin-left: -300px; /* 寬度的一半 */ }
Html5方式
.element { width: 600px; height: 400px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); /* 50%為自身尺寸的一半 */ }
簡單方式
.element { width: 600px; height: 400px; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; /* 有了這個就自動居中了 */ }
變成行方式:兩種:
1.把行高和Box高設成一樣,這就垂直居中了,最簡單,text-align:center,這就水平居中了,或者是inline-block加margin:0 auto;
2.設成inline,然後使用vertical-align:middle;這個有什麼效果呢?就是把文字在行內垂直顯示,比如在圖文排列的時候就起作用了。
總結就是有行高的情況下,設定line-height最簡單,沒有行高的情況下,使用vertical-align垂直對齊圖文。
相關推薦
CSS基本知識5-CSS對齊
要對齊的關鍵,在於理解塊,行的概念,塊的對齊主要靠自動計算定位,比如margin:auto,及浮動,所以最好的辦法是儘量使用行來對齊。 例項: .box { border: 1px solid #808080; height: 200
CSS基本知識3-CSS盒模型
box-sizing: content-box|border-box|inherit; 值描述 content-box 這是由 CSS2.1 規定的寬度高度行為。 寬度和高度分別應用到元素的內容框。 在寬度和高度之外繪製元素的內邊距和邊框。 border-box
CSS基本知識1-CSS基本概念
CSS基本概念: 選擇器{屬性:值;屬性:值} CSS繼承:子元素繼承父元素樣式,父子關係看DOM結構。 CSS覆蓋: 瀏覽器預設設定 外部樣式表 內部樣式表(位於 <head> 標籤內部) 內聯樣式(在 HTML 元素內部) CSS優先: A:文字從上到下,後宣告的樣式
CSS基本知識2-CSS選擇
選擇就是CSS定義的第一部分,可以用面向物件的模式來理解,或者宣告式的面向物件。 標準選擇: #.E 進階選擇:“,”分隔多個相同項,相當於類的例項。 如:#btn1,#btn2,.btn {...} 後代元素選擇,相當於子類: 空格分隔: .nav p {...} #header .nav
CSS基本知識6-CSS字型
首先要考慮的是文字的排版,實際上有這玩意,Word還需要嗎?不需要了。我們列下文字所涉及的操作: CSS 文字屬性 可見,以上的這些CSS文字屬性,主要就是操作文字的顯示,當然對於網頁來說,大多數不常用。但如果想做個網頁編輯器,那就都可以派上用場了。 有了文字,我們還要設下字型,先看
CSS基本知識4-CSS行模型
display:inline、block、inline-block block元素的特點是: 總是在新行上開始; 高度,行高以及頂和底邊距都可控制; 寬度預設是它的容器的100%,除非設定一個寬度 inline元素的特點是: 和其他元素都在一行上; 高,行高及頂和底邊距不可改變; 寬度就是它
CSS基本知識
分開 col tle -- body 定義 type text 參考 CSS規則有兩個主要部分組成:選擇器,一條或多條聲明 選擇器通常是需要改變樣式的HTML元素 每條聲明由一個屬性和一個值組成 屬性是希望設置的樣式屬性。每個屬性有一個值。屬性和值之間用冒號分開。 CSS
CSS中實現文字兩端對齊的方法,登陸註冊介面經常用到
在寫登陸或註冊介面時,經常會遇到文字兩端對齊(word中有類似對齊方式)的問題,如下圖: 使用者名稱和密碼並沒有兩端對齊,那麼該怎樣處理 其實只需要兩行CSS程式碼就可以解決: 關鍵兩行是:text-align:justify; text-align-last
css 實現文字圖片垂直對齊
給圖片使用vertical-align:middle;就可以實現 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</
CSS多種方式實現底部對齊
CSS實現底部對齊效果 因公司業務要求需要實現如下圖中紅色區域的效果: 效果說明: 1、紅色區域資料需要倒排(即從底部開始數,數字為1、2、3、4、5),並且顯示在最底部 2、當資料過多時需要顯示滾動條,**並且滾動條需要拉到最底部** 3、資料從websocket
CSS 下拉內容的對齊方式
<!DOCTYPE html > <html> <head> <meta charset="utf-8"> <title>自學教程
css 圖片 文字居中對齊
例: <li> <span class='al'> <a href="#"> <img class="p_pic" src="pic.jpg"> <span class="name"> nima
css 水平垂直居中 兩端對齊
單行垂直居中 單行垂直居中可以直接用line-height=width來做 <div style="width:100px;height:100px;line-height:100px;"><span>hello world</span>
【CSS技巧】文字分散對齊的方法
<table width="300" align="center"> <tr> <td style="text-align:justify;text-justify:distribute-all-lines;text-align-last:justify"&g
js基本知識5
tin 1.7 interval targe fun 大小寫轉換 name 1.4 length 1.1 復習 1. 按鈕不可用 disabled = “disabled” || true 2. setTimeout 只執行一次 setIn
5.程式碼對齊(UVA1593)
程式碼對齊(UVA1593) 題目簡單分析 程式碼 題目簡單分析 題目的詳細內容可以在這個網站上看到,下面簡單說明一下題目要求。 [題意] 本題主要任務是對輸入的程式碼進行對齊,例如: start: integer; // be
css文字兩端對齊
搜索 一個 中文 graph idt 元素 text lock 問題 最近在工作項目中接觸到Web界面設計的問題,要實現文字兩端對齊的效果。在網上搜索了一下,差不多都是用的都是類似的技巧: text-align:justify;text-justify:inter-ide
css布局基本知識
pad ati 窗口 htm type 適應 ant ans webkit 一,. 頁面導入樣式時,使用link和@import有什麽區別? 語法的角度: link屬於XHTML標簽,除了加載CSS外,還能用於定義RSS, 定義rel連接屬性等作用; 而@import是CS
【】小技巧】CSS文字兩端對齊
兩個 isp images inline clas 我們 寬度 filter pre 需求如下,紅框所在的文字有四個字的、三個字的、兩個字的,如果不兩端對齊可以選擇居中對齊,或者右對齊。但是如果要像下面這樣兩端對齊呢? 我相信以前很多人都這麽幹過:兩個字中間使用 來隔開達
css 表單標簽兩端對齊
developer str proto spa play fff line name cal 來自:http://demo.doyoe.com/css3/justify/justify-form.htm 侵刪 <!DOCTYPE html> <html