2017-06-18 85 views
2

我該如何居中浮動元素,你可以看到這個photo?我想從網頁的左側將它放到中間,但將它保留在頁面的頂部?如何將CSS中的浮動元素居中?

下面是HTML的代碼:

<html> 
    <head> 
     <title>Batch File Generator | Home</title> 
    </head> 
    <link href="style.css" rel="stylesheet" > 
    <ul> 
     <li><a>Home</a></li> 
     <li><a>Download</a> 
      <ul> 
       <li><a href="32-bit version.exe" download="download">32-bit version</a></li> 
       <li><a href="64-bit version.exe" download="download">64-bit version</a></li> 
      </ul> 
     </li> 
     <li><a>Discussion</a> 
      <ul> 
       <li><a>Community forums</li></a> 
       <li><a>Ask the developers</li></a> 
      </ul> 
     </li> 
     <li><a>News</a></li> 
    </ul> 
</html> 

這裏是CSS的代碼:

body{ 
    background: url("background.jpg") no-repeat; 
    background-size: cover; 
    font-family: Arial; 
    color: white; 
} 
ul{ 
    margin: 0px; 
    padding: 0px; 
    list-style: none; 
} 
ul li { 
    float: left; 
    width: 200px; 
    height: 40px; 
    background-color: black; 
    opacity: .8; 
    line-height: 40px; 
    text-align: center; 
    font-size: 20px; 
} 
ul li a { 
    text-decoration: none; 
    color: white; 
    display: block; 
} 
ul li a:hover { 
    background-color: green; 
} 
ul li ul li { 
    display: none; 
} 
ul li:hover ul li { 
    display: block; 
} 
+0

爲什麼你把它漂浮到左側時,要居中呢?刪除浮動並添加'margin:0 auto;' –

+0

謝謝。 「我必須寫這個,否則我不能發表評論'因爲它太短...」 – ange

+0

Dawid Zbinski它沒有工作,因爲它是一個下拉菜單,並使用「邊距:0自動;」白色書寫是,在頁面頂部的中間,但它垂直對齊,下拉效果不起作用。 – ange

回答

3

對於HTML代碼,使用:

<div class="wrapper"> 

    <div class="middle-content"> 
     <ul> 
    <li><a>Home</a></li> 
    <li><a>Download</a> 
     <ul> 
      <li><a href="32-bit version.exe" download="download">32-bit version</a></li> 
      <li><a href="64-bit version.exe" download="download">64-bit version</a></li> 
     </ul> 
    </li> 
    <li><a>Discussion</a> 
     <ul> 
      <li><a>Community forums</a></li> 
      <li><a>Ask the developers</a></li> 
     </ul> 
    </li> 
    <li><a>News</a></li> 
</ul> 
    </div> 

    </div> 

對於css代碼:

html{ 
    height: 100%; 
} 
body{ 
    background: url("background.jpg") no-repeat; 
    background-size: cover; 
    font-family: Arial; 
    color: white; 
    height: 100%; 
} 
.wrapper{ 
    display: table; 
    width: 100%; 
    height: 100%; 
} 
.middle-content{ 
    display: table-cell; 
    vertical-align:middle; 
    width: 100%; 
} 
ul{ 
    margin: 0px; 
    padding: 0px; 
    list-style: none; 
} 
ul li { 
    float: left; 
    width: 200px; 
    height: 40px; 
    background-color: black; 
    opacity: .8; 
    line-height: 40px; 
    text-align: center; 
    font-size: 20px; 
} 
ul li a { 
    text-decoration: none; 
    color: white; 
    display: block; 
} 
ul li a:hover { 
    background-color: green; 
} 
ul li ul li { 
    display: none; 
} 
ul li:hover ul li { 
    display: block; 
} 
+0

@ange使html和body'height:100%'並使用'display:table'和'display:table-cell'和'vertical-align:middle' 請按照答案。你會得到解決方案。 –

+0

謝謝,我會嘗試。 – ange

+0

好吧,讓我知道你是否面臨任何問題 –

0

Flexbox解決方案。

* { 
 
    box-sizing: border-box; 
 
} 
 

 
html, 
 
body, 
 
ul { 
 
    padding: 0; 
 
    margin: 0; 
 
} 
 

 
nav { 
 
    width: 100%; 
 
    background-color: darkgray; 
 
} 
 

 
li { 
 
    list-style: none; 
 
    padding: 15px; 
 
    border: thin solid lightgray; 
 
    position: relative; 
 
    background-color: white; 
 
} 
 

 
li>a { 
 
    display: inline-block; 
 
    text-decoration: none; 
 
} 
 

 
.main-menu { 
 
    display: flex; 
 
    justify-content: center; 
 
} 
 

 
.sub-menu { 
 
    display: none; 
 
    position: absolute; 
 
    left: 0px; 
 
    width: 100%; 
 
    margin-top: 15px; 
 
} 
 

 
.main-menu li:hover { 
 
    background-color: lightgreen; 
 
} 
 

 
.sub-menu li:hover { 
 
    background-color: lightblue; 
 
} 
 
.main-menu li:hover>.sub-menu { 
 
    display: block; 
 
}
<nav> 
 
    <ul class="main-menu"> 
 
    <li><a>Home</a></li> 
 
    <li><a>Download</a> 
 
     <ul class="sub-menu"> 
 
     <li><a href="32-bit version.exe" download="download">32-bit version</a></li> 
 
     <li><a href="64-bit version.exe" download="download">64-bit version</a></li> 
 
     </ul> 
 
    </li> 
 
    <li><a>Discussion</a> 
 
     <ul class="sub-menu"> 
 
     <li><a href="#">Community forums</a></li> 
 
     <li><a href="#">Ask the developers</a></li> 
 
     </ul> 
 
    </li> 
 
    <li><a>News</a></li> 
 
    </ul> 
 
</nav>