淘寶面試題之--圖片些侍、多行文本、塊級等在父級盒子里怎么做居中

標(biāo)簽(空格分隔):display:table-cell 塊轉(zhuǎn)成行內(nèi)塊后的垂直居中


1:圖片政模、多行文字岗宣、塊轉(zhuǎn)成行內(nèi)塊后的水平垂直居中

序:

圖片、多行文字淋样、塊轉(zhuǎn)成行內(nèi)塊的水平垂直居中問題耗式,在水平方向上都不難實現(xiàn),主要難在垂直方向上趁猴。
在 淘寶UED 招聘 中有這樣一道題目:

“使用純CSS實現(xiàn)未知尺寸的圖片(但高寬都小于200px)在200px的正方形容器中水平和垂直居中刊咳。”

工作中最常遇到的一個問題儡司,很有代表性娱挨。
問題的關(guān)鍵在于,行內(nèi)塊img不同于普通的行內(nèi)塊元素,默認(rèn)基線對齊等不太一樣捕犬,要實現(xiàn)垂直居中跷坝,不是簡單父級:line-height==height能解決的酵镜。

示例1:

現(xiàn)在我要在logo即h1>a>img的結(jié)構(gòu)中,讓img垂直居中在a/h1中探孝。這也是做每個網(wǎng)站的logo時常常遇到的問題笋婿。水平都不難誉裆,父級給tac即可顿颅。

html:

<div class="nav">
    <h1 class="logo"><a href="###">![](images/logo.png)</a></h1>
</div>

css:

        h1{
            height: 90px;
        }

        h1  a{
            display: inline-block;
            height: 90px;
            background: #ff6600;
            //父級身上:主要是這兩條
            display: table-cell;
            vertical-align:middle;
            }
        h1  a img{
             //自己身上:
            vertical-align: middle;
        }

效果圖:


Paste_Image.png

tip:display:table-cell

  • 一些剛接觸前端的童鞋對display:table-cell可能不太知道,其實圈里已經(jīng)是很成熟老套的做法了足丢,簡單說明下:

display:table-cell屬性就是讓標(biāo)簽元素以表格單元格的形式呈現(xiàn)粱腻,類似于td標(biāo)簽。目前IE8+以及其他現(xiàn)代瀏覽器都是支持此屬性的斩跌,但是IE6/7不支持绍些,這一事實在傳統(tǒng)前端項目中大大制約了display:table-cell屬性在實際項目中的應(yīng)用。但是在如今這樣的前端時代里耀鸦,兼容到IE8幾乎也是很少見的了柬批。一般都是現(xiàn)代瀏覽器即:IE9+,兼容性不用太擔(dān)心了袖订。除非你們公司的項目目標(biāo)人群就是那些... ...此處自行腦補氮帐。

  • 單元格有一些比較特別的屬性,例如元素的垂直居中對齊洛姑,關(guān)聯(lián)伸縮等上沐,所以display:table-cell還是有不少潛在的使用價值的.

與其他一些display屬性類似,table-cell同樣會被其他一些CSS屬性破壞楞艾,例如float,position:absolute参咙,所以,在使用display:table-cell與float:left或是position:absolute屬性盡量不用同用硫眯。設(shè)置了display:table-cell的元素對寬度高度敏感蕴侧,對垂直方向的margin值無反應(yīng),響應(yīng)padding屬性两入,具有td元素的特性净宵。

  • display:table-cell 在“圖片、多行文字的水平垂直居中”中應(yīng)用較多

示例1擴展:語義好更好的logo部分的處理谆刨。

logo以背景形式給塘娶,有網(wǎng)站名字的文字描述。畢竟爬蟲在爬取站點時優(yōu)先拿到h1的信息痊夭,SEO更好刁岸。

html:

<h1 class="logo_tit">
    <a  class="logo_tit_lk">京東</a>
</h1>

css:

.logo_tit_lk {
    overflow: hidden;
    display: block;
    width: 190px;
    height: 170px;
    background-image: url(//misc.360buyimg.com/mtd/pc/index/home/images/logo.v2.png);
    background-repeat: no-repeat;
    text-indent: -999px;
}

1:塊級在父級盒子里怎么做水平垂直居中

序:

這個也是工作中常常遇到的問題。這個就是比較好解決和想到的她我。比較典型的做法:下邊是emmet語法簡寫虹曙,如果你看不懂迫横。請看下邊代碼。

父級:
por
子級:
poa
top:50%
left:50%
mt:--自身高度/2
ml:--自身 寬度/2

示例2:

html:

<div class="nav">
    <div class="navIn"></div>
</div>

css:

        .nav {
            height: 200px;
            background:hotpink;
            //核心代碼
            position: relative;
        }

        .navIn {
            height: 100px;
            width: 100px;
            background: lightblue;
            //核心代碼
            position: absolute;
            top: 50%;
            left: 50%;
            margin-left: -50px;
            margin-top: -50px;
        }

效果圖:

父級占滿屏幕

還有一種方式就是酝碳,將內(nèi)部塊轉(zhuǎn)成行內(nèi)塊來處理矾踱,但是垂直方向上還是不能使用LH=H的方式去處理的,而是還需要采用display:table-cell疏哗;但是父級寬度必須設(shè)置呛讲,否則由內(nèi)容寬度撐開。

        .nav {
            /*這么處理返奉,寬度就必須設(shè)定了*/
            width: 999px;
            height: 200px;
            background: hotpink;
            
            text-align: center;
            display: table-cell;
            vertical-align: middle;
        }

        .navIn {
            height: 100px;
            width: 100px;
            background: lightblue;
            
            display: inline-block;
            vertical-align: middle;
        }

效果圖:

父級寬度單設(shè)贝搁,注意右側(cè)有留白

----------------------------------------------------喜歡就動動小手哈。------------------------------------------------------

--------------------------------------你的支持是灑家-麥殼-macrolam前進的動力--------------------------------------

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末芽偏,一起剝皮案震驚了整個濱河市雷逆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌污尉,老刑警劉巖膀哲,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異被碗,居然都是意外死亡某宪,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門蛮放,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缩抡,“玉大人,你說我怎么就攤上這事包颁≌跋耄” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵娩嚼,是天一觀的道長蘑险。 經(jīng)常有香客問我,道長岳悟,這世上最難降的妖魔是什么佃迄? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮贵少,結(jié)果婚禮上呵俏,老公的妹妹穿的比我還像新娘。我一直安慰自己滔灶,他們只是感情好普碎,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著录平,像睡著了一般麻车。 火紅的嫁衣襯著肌膚如雪缀皱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天动猬,我揣著相機與錄音啤斗,去河邊找鬼。 笑死赁咙,一個胖子當(dāng)著我的面吹牛钮莲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播序目,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼臂痕,長吁一口氣:“原來是場噩夢啊……” “哼伯襟!你這毒婦竟也來了猿涨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤姆怪,失蹤者是張志新(化名)和其女友劉穎叛赚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稽揭,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡俺附,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了溪掀。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片事镣。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖揪胃,靈堂內(nèi)的尸體忽然破棺而出璃哟,到底是詐尸還是另有隱情,我是刑警寧澤喊递,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布随闪,位于F島的核電站,受9級特大地震影響骚勘,放射性物質(zhì)發(fā)生泄漏铐伴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一俏讹、第九天 我趴在偏房一處隱蔽的房頂上張望当宴。 院中可真熱鬧,春花似錦泽疆、人聲如沸户矢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逗嫡。三九已至青自,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間驱证,已是汗流浹背延窜。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留抹锄,地道東北人逆瑞。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像伙单,于是被迫代替她去往敵國和親获高。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 13,728評論 1 92
  • ?前端面試題匯總 一磷醋、HTML和CSS 21 你做的頁面在哪些流覽器測試過秋茫?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,219評論 0 8
  • 收聽音頻,戳鏈接,舊號itclan已暫停使用,歡迎關(guān)注微信itclanCoder公眾號可收聽更多音頻 前言 關(guān)于網(wǎng)...
    itclanCoder閱讀 8,156評論 3 30
  • ======= SEO專用 table-cell 定高水平垂直居中 不定高水平垂直居中 單行定高水平垂直居中 單行...
    木白no1閱讀 10,380評論 1 15
  • 有一段時間,我曾變得自信無比摊趾,相信自己,相信自己可以闖出一番天地游两。于是我不顧一切地選擇現(xiàn)在的路砾层,讀博士,來日本贱案。 ...
    麻鯊蘇閱讀 328評論 0 0