亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在div中垂直居中的兩個元素

在div中垂直居中的兩個元素

jeck貓 2019-07-03 17:40:39
在div中垂直居中的兩個元素我正試著把兩個垂直的中心<p>元素。我在phronz.net但是這些元素仍然被放置在div之上,div下面,在div內的頂部對齊。我會嘗試其他的東西,但這里的大多數問題只是指向那個教程。此片段用于網頁頂部的橫幅。.banner {  width: 980px;  height: 69px;  background-image: url(../images/nav-bg.jpg);  background-repeat: no-repeat;  /* color: #ffffff; */}.bannerleft {  float: left;  width: 420px;  text-align: right;  height: 652px;  line-height: 52px;  font-size: 28px;  padding-right: 5px;}.bannerright {  float: right;  width: 555px;  text-align: left;  position: relative;}.bannerrightinner {  position: absolute;  top: 50%;  height: 52px;  margin-top: -26px;}<div class="banner">  <div class="bannerleft">    I am vertically centered  </div>  <div class="bannerright">    <div class="bannerrightinner">      <p>I should be</p>      <p>vertically centered</p>    </div>  </div>  <div class="clear">  </div></div>
查看完整描述

2 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

添加以下內容:Display:table;to bannerright

顯示:表格單元格;垂直對齊:中間;到邊框右邊。

我沒有試過這個,如果它不起作用,請給我反饋。;)

編輯:忘記提到:去掉“浮動”和“位置”屬性


查看完整回答
反對 回復 2019-07-03
?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

如何對元素進行垂直、水平或兩者的居中

這里有兩種在div中對div進行中心化的方法。

一種使用CSS的方法柔性箱另一種方式是使用CSS工作臺和定位財產。

在這兩種情況下,居中的div的高度都可以是可變的、未定義的、未知的。中心點的高度并不重要。


以下是兩者的HTML:

<div id="container">   

    <div class="box" id="bluebox">
        <p>DIV #1</p>
    </div>

    <div class="box" id="redbox">
        <p>DIV #2</p>
    </div></div>

CSS Flexbox方法

#container {
    display: flex;              /* establish flex container */
    flex-direction: column;     /* stack flex items vertically */
    justify-content: center;    /* center items vertically, in this case */
    align-items: center;        /* center items horizontally, in this case */
    height: 300px;
    border: 1px solid black;}.box {
    width: 300px;
    margin: 5px;
    text-align: center;}

演示

兩個子元素(.box)垂直對齊flex-direction: column..對于水平對齊,請將flex-directionrow(或者簡單地刪除如下規則:flex-direction: row是默認設置)。項目將保持垂直和水平中心(演示).


CSS表與定位方法

body {
    display: table;
    position: absolute;
    height: 100%;
    width: 100%;}#container {
    display: table-cell;
    vertical-align: middle;}.box {
    width: 300px;
    padding: 5px;
    margin: 7px auto;   
    text-align: center;}

演示


用哪種方法.。

如果您不確定使用哪種方法,我會基于以下原因推薦Flexbox:

  1. 極小的代碼;非常有效的
  2. 如前所述,對中很簡單,而且很容易(

    參見另一個示例)

  3. 等高柱既簡單又容易。

  4. 對齊FLEX元素的多個選項

  5. 是有反應的
  6. 與浮標和表格不同,它們提供有限的布局容量,因為它們從來就不是用來構建布局的,柔性盒是一種具有廣泛選擇的現代(CSS 3)技術。

瀏覽器支持

所有主流瀏覽器都支持Flexbox,除IE<10..最近的一些瀏覽器版本,如Safari 8和IE10,需要供應商前綴..有關添加前綴的快速方法,請使用自動復位器..更多細節見這個答案.


查看完整回答
反對 回復 2019-07-03
  • 2 回答
  • 0 關注
  • 1824 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號