關(guān)于css 行元素和塊元素 相互轉(zhuǎn)換 居中

一、塊級(jí)元素 行內(nèi)元素
div、h1 或 p 元素常常被稱為塊級(jí)元素。這意味著這些元素顯示為一塊內(nèi)容,即“塊框”。與之相反,span 和 strong 等元素稱為“行內(nèi)元素”,這是因?yàn)樗鼈兊膬?nèi)容顯示在行中,即“行內(nèi)框”。
您可以使用 display 屬性改變生成的框的類型。這意味著,通過將 display 屬性設(shè)置為 block,可以讓行內(nèi)元素(比如 <a> 元素)表現(xiàn)得像塊級(jí)元素一樣。還可以通過把 display 設(shè)置為 none,讓生成的元素根本沒有框。這樣的話,該框及其所有內(nèi)容就不再顯示,不占用文檔中的空間。
但是在一種情況下,即使沒有進(jìn)行顯式定義,也會(huì)創(chuàng)建塊級(jí)元素。這種情況發(fā)生在把一些文本添加到一個(gè)塊級(jí)元素(比如 div)的開頭。即使沒有把這些文本定義為段落,它也會(huì)被當(dāng)作段落對(duì)待:
<div> 顯示出來的效果為:
some text some text
<p>Some more text.</p> Some more text.
</div>
在這種情況下,這個(gè)框稱為無(wú)名塊框,因?yàn)樗慌c專門定義的元素相關(guān)聯(lián)。
塊級(jí)元素的文本行也會(huì)發(fā)生類似的情況。假設(shè)有一個(gè)包含三行文本的段落。每行文本形成一個(gè)無(wú)名框。無(wú)法直接對(duì)無(wú)名塊或行框應(yīng)用樣式,因?yàn)闆]有可以應(yīng)用樣式的地方(注意,行框和行內(nèi)框是兩個(gè)概念)。但是,這有助于理解在屏幕上看到的所有東西都形成某種框。
塊級(jí)元素特點(diǎn):
1、每個(gè)塊級(jí)元素都從新的一行開始,并且其后的元素也另起一行。(真霸道,一個(gè)塊級(jí)元素獨(dú)占一行)
2、元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。
3、元素寬度在不設(shè)置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設(shè)定一個(gè)寬度
塊狀元素也可以通過代碼display:inline
將元素設(shè)置為內(nèi)聯(lián)元素
內(nèi)聯(lián)元素特點(diǎn):
1、和其他元素都在一行上;
2、元素的高度、寬度及頂部和底部邊距不可設(shè)置;
3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。
常用的塊狀元素有:
<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
常用的內(nèi)聯(lián)元素有:
<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
常用的內(nèi)聯(lián)塊狀元素有:
<img>、<input>
內(nèi)聯(lián)塊狀元素(inline-block)就是同時(shí)具備內(nèi)聯(lián)元素、塊狀元素的特點(diǎn),代碼display:inline-block
就是將元素設(shè)置為內(nèi)聯(lián)塊狀元素。(css2.1新增),<img>、<input>標(biāo)簽就是這種內(nèi)聯(lián)塊狀標(biāo)簽。
inline-block 元素特點(diǎn):
1、和其他元素都在一行上;
2、元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。
二、水平居中
行內(nèi)元素和塊級(jí)元素不同,對(duì)于行內(nèi)元素,只需在父元素中設(shè)置text-align=center即可;
對(duì)于塊級(jí)元素有以下幾種居中方式:
1.將元素放置在table中,再將table的margin-left和margin-right設(shè)置成auto,將table居中,使在其之中的塊級(jí)元素葉居中,但是這種方式不符合語(yǔ)義化標(biāo)簽的規(guī)范;
2.將塊級(jí)元素轉(zhuǎn)換行內(nèi)元素(通過設(shè)置display:inline)后再居中.這種方式使居中元素變成行內(nèi)元素而致使無(wú)法設(shè)置寬高;
3.設(shè)置父元素float:left,position:relative,left:50%;子元素float:left,position:relative,left:-50%,利用相對(duì)布局的方式居中.上面三種方式各有優(yōu)劣,依使用情景具體選擇.
三、垂直居中
1.對(duì)于知道高度的元素可以設(shè)置上下padding相等;
2.設(shè)置line-height和height相等
3.利用vertical-align,但是這屬性只在tr,td中適用,故可將元素放置入table中在居中
源碼
代碼如下:
- <!-- 水平居中 -->
- <!-- 行內(nèi)元素居中只需在父元素中設(shè)置text-align即可 -->
- <div class="father">
- <p class="blockCenter">
- hehe</p>
- </div>
- <!-- table居中 -->
- <table class="tableclass">
- <tr>
- <td>
- <ul class="ulclass">
- <li><a href="#">呵</a></li>
- </ul>
- </td>
- </tr>
- </table>
- <table class="tableclass">
- <tr>
- <td>
- <ul class="ulclass">
- <li><a href="#">呵</a></li>
- <li><a href="#">呵</a></li>
- <li><a href="#">呵</a></li>
- </ul>
- </td>
- </tr>
- </table>
- <table class="tableclass">
- <tr>
- <td>
- <ul class="ulclass">
- <li><a href="#">呵</a></li>
- <li><a href="#">呵</a></li>
- <li><a href="#">呵</a></li>
- <li><a href="#">呵</a></li>
- <li><a href="#">呵</a></li>
- </ul>
- </td>
- </tr>
- </table>
- <!-- 將塊及元素變?yōu)樾袃?nèi)元素在居中 -->
- <ul style="{text-align: center}">
- <li style="{display: inline}">nihao </li>
- </ul>
- <!-- 利用相對(duì)布局 -->
- <ul class="relativeCenterFather">
- <li class="relativeCenterChild">你好 </li>
- </ul>
- <!--豎直居中-->
- <!-- 1.設(shè)置相同的上下padding -->
- <!-- 2.父元素height和line-height相同 -->
- <hr />
- <div style={background:#000;width:500px;color:#fff;line-height:100px;text-align:center}>
- 我要來場(chǎng)說走就走的旅行
- </div>
- <!--3. vartical-align,這屬性只對(duì)tr,td起作用 -->
- <table>
- <tr verticla-align="center" height="100" background="#FF00FF">
- <td>一弦一柱思華年</td>
- </tr>
- </table>
css樣式
- <style type="text/css">
- .father
- {
- width:500px;
- }
- .inlineCenter
- {
- text-align:center;
- float:left;
- }
- .blockCenter
- {
- width:100px;
- margin-left:auto;
- margin-right:auto;
- text-align:"center"
- }
- .tableclass
- {
- margin-left:auto;
- margin-right:auto;
- }
- .ulclass
- {
- list-style:none;
- margin:0;
- padding:0;
- }
- .ulclass li
- {
- float:left;
- display:inline;
- text-align:center;
- }
- .ulclass li a
- {
- text-align:center;
- float:left;
- background:#316AC5;
- color:#fff;
- }
- .ulclass li a:hover
- {
- background:#fff;
- color:#316AC5;
- }
- .relativeCenterFather
- {
- float:left;
- position:relative;
- left:50%
- }
- .relativeCenterChild
- {
- float:left;
- position:relative;
- left:-50%;
- }
- /* 豎直居中*/
- .wrap
- {
- background:#000;
- width:500px;
- color:#fff;
- height:100px;
- line-height:100px;
- }
- </style>
以上這篇關(guān)于css 行元素和塊元素 相互轉(zhuǎn)換 居中就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
- 這篇文章主要介紹了css實(shí)現(xiàn)元素居中的N種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
- 這篇文章主要介紹了css實(shí)現(xiàn)元素垂直居中顯示的7種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)2020-09-04
CSS實(shí)現(xiàn)子元素div水平垂直居中的示例
這篇文章主要介紹了CSS實(shí)現(xiàn)子元素div水平垂直居中的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起2020-09-03- 這篇文章主要介紹了css 不定寬高的元素居中布局解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起2019-09-18
CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊
這篇文章主要介紹了CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們2019-09-03- 這篇文章主要介紹了css常用元素水平垂直居中方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)2019-08-09
css實(shí)現(xiàn)元素垂直居中的常用方法(總結(jié))
本文給大家分享幾種方法介紹css實(shí)現(xiàn)元素垂直居中的常用方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-01- 在 CSS 中要設(shè)置元素水平垂直居中是一個(gè)非常常見的需求了。這篇文章主要介紹了CSS實(shí)現(xiàn)元素居中原理解析,本文分別從行內(nèi)元素和塊級(jí)元素進(jìn)行說明,具有一定的參考價(jià)值,感興2018-10-18
- 作為前端攻城師,在制作Web頁(yè)面時(shí)都有碰到CSS制作水平垂直居中,我想大家都有研究過或者寫過,特別的其中的垂直居中,更是讓人煩惱,下面這篇文章主要給大家匯總介紹了關(guān)于2017-09-12
css實(shí)現(xiàn)元素水平垂直居中常見的兩種方式實(shí)例詳解
這篇文章主要給大家介紹了css實(shí)現(xiàn)元素水平垂直居中的兩種方式,文中給出了完整的示例代碼供大家參考學(xué)習(xí),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,有需要的朋友們下面來2017-04-23