css - div display: inline-block; 置中?
問題描述
.layout{ width: 760px; margin: 150px auto 0 auto;}.layout2{ width: 250px; display: inline-block;}
<p class='layout'> <p class='layout2'> 1 </p> <p class='layout2'> 2 </p> <p class='layout2'> 3 </p></p>
請問如何讓layout2 p能夠置中對齊呀?另外若是layout改成750寬 layout2設250寬第三個p會跑到下面去....
問題解答
回答1:代碼貼上:
<!DOCTYPE html><html><head> <title></title> <style type='text/css'> .layout{ width: 750px; margin: 150px auto 0 auto; background: #cccccc; font-size: 0;}.layout2{ width: 250px; display: inline-block; *display: inline;; *zoom:1; font-size: 20px; background: #666666; text-align: center;} </style></head><body><p class='layout'> <p class='layout2'> 1 </p> <p > 2 </p> <p class='layout2'> 3 </p></p></body></html>
如上 設置父元素font-size:0前提是你必須設置 子元素 也就是inline-block的font-size 設置好字體 要不然 就什么都不會顯示
參考文獻:http://sentsin.com/web/23.html
回答2:有空格,父元素中設置font-size:0
回答3:inline-block有間距,需要去掉參見這篇文章http://www.zhangxinxu.com/wor...
layout2居中對齊是什么意思?
回答4:補充一點吧。其實不用設置font-size:0;
<p style='background: red;'>1</p><p style='background: yellow;'>2</p><p style='background: green;'>3</p>
可以這麼寫。inline-block元素標籤間的空格導致的inline-block之間存在間隙。
<p class='layout2'> 1 </p><!-- --><p class='layout2'> 2 </p><!-- --><p class='layout2'> 3 </p>
或者這麼寫,用註釋填充你的格式。
這樣就不需要添加額外樣式了,畢竟代碼上線的時候註釋是會被壓縮掉的。
回答5:其實一個浮動就可以解決
.layout {width: 750px;margin: 0 auto;margin-top: 150px;background-color: red; } .layout2 {width: 250px;background-color: blue;float: left;text-align: center; }回答6:
空格也是字符。在inline-block的父元素上設置font-size:0;即可消除。
相關文章:
1. javascript - 循環嵌套多個promise應該如何實現?2. mysql優化 - 關于mysql分區3. css3 - rem布局下,用戶瀏覽器的最小字號是12px怎么辦?4. javascript - ionic2 input autofocus 電腦成功,iOS手機鍵盤不彈出5. html5 - 如何實現帶陰影的不規則容器?6. objective-c - iOS開發支付寶和微信支付完成為什么跳轉到了之前開發的一個app?7. 前端 - IE9 css兼容問題8. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應9. vue.js - vue 打包后 nginx 服務端API請求跨域問題無法解決。10. css - 移動端字體設置問題
