2010-09-01 54 views
39

Vấn đề về trung tâm CSS thông thường, không hoạt động đối với tôi, vấn đề là tôi không biết chiều rộng đã hoàn thành pxTrung tâm Nút CSS

Tôi có div cho toàn bộ nav và sau đó mỗi nút bên trong, chúng không trung tâm nữa khi có nhiều hơn một nút. :(

CSS

.nav{ 
    margin-top:167px; 
    width:1024px; 
    height:34px; 
} 

.nav_button{ 
    height:34px; 
    margin:0 auto; 
    margin-right:10px; 
    float:left; 
} 

HTML

<div class="nav"> 
     <div class="nav_button"> 
      <div class="b_left"></div> 
      <div class="b_middle">Home</div> 
      <div class="b_right"></div> 

     </div> 
     <div class="nav_button"> 
      <div class="b_left"></div> 
      <div class="b_middle">Contact Us</div> 
      <div class="b_right"></div> 

     </div> 
</div> 

Bất kỳ trợ giúp sẽ được đánh giá rất nhiều. Cảm ơn


quả

Nếu chiều rộng là không rõ, tôi đã tìm ra cách trung tâm các nút, không hoàn toàn hạnh phúc nhưng vấn đề doesnt, nó hoạt động: D

Cách tốt nhất là phải đặt nó trong một bảng

<table class="nav" align="center"> 
    <tr> 
     <td> 
     <div class="nav_button"> 
      <div class="b_left"></div> 
      <div class="b_middle">Home</div> 
      <div class="b_right"></div> 
     </div> 

     <div class="nav_button"> 
      <div class="b_left"></div> 
      <div class="b_middle">Contact Us</div> 
      <div class="b_right"></div> 
     </div> 
     </td> 
    </tr> 
    </table> 

Trả lời

113

Tôi nhận ra đây là một câu hỏi rất cũ, nhưng tôi vấp qua vấn đề này ngày hôm nay và tôi đã nhận được nó để làm việc với

<div style="text-align:center;"> 
    <button>button1</button> 
    <button>button2</button> 
</div> 

Chúc mừng, Đánh dấu

+0

Làm việc như một sự quyến rũ. Kudos @markbaldy – andy4thehuynh

4

Các vấn đề là với dòng CSS sau trên .nav_button:

margin: 0 auto; 

Điều đó sẽ chỉ làm việc nếu bạn có một nút, đó là lý do tại sao họ đang đi làm trung tâm khi có nhiều hơn một nav_button divs.

Nếu bạn muốn tất cả các nút của bạn làm trung tâm tổ nav_buttons trong một div:

<div class="nav"> 
    <div class="centerButtons"> 
     <div class="nav_button"> 
      <div class="b_left"></div> 
      <div class="b_middle">Home</div> 
      <div class="b_right"></div> 
     </div> 
     <div class="nav_button"> 
      <div class="b_left"></div> 
      <div class="b_middle">Contact Us</div> 
      <div class="b_right"></div> 
     </div> 
    </div> 
</div> 

Và phong cách nó theo cách này:

.nav{ 
    margin-top:167px; 
    width:1024px; 
    height:34px; 
} 

/* Centers the div that nests the nav_buttons */ 
.centerButtons { 
    margin: 0 auto; 
    float: left; 
} 

.nav_button{ 
    height:34px; 
    margin-right:10px; 
    float: left; 
} 
+0

cảm ơn bài đăng của bạn, tiếc là không hoạt động, hoặc là tất cả ở bên trái. – Stevanicus

+0

Vâng, tôi mới nhận ra điều đó. Đó là vì .centerButtons là một phần tử khối và chiếm toàn bộ không gian trong .nav, làm cho các thuộc tính lề vô dụng. Tôi đã cố gắng sửa chữa nó bằng cách nổi .centerButtons là tốt, nhưng không có may mắn. – Espresso

+0

yea tôi biết một trong những khó khăn của nó, làm phiền tôi coz tôi đã thực hiện nó trước nhưng không thể nhớ làm thế nào:) .... bất kỳ ý tưởng? – Stevanicus

0

khi vẫn thất bại Tôi chỉ

<center> content </center> 

Tôi biết nó không phải là "đạt tiêu chuẩn" nữa, nhưng nếu nó hoạt động nó hoạt động

+5

Câu trả lời này không thêm bất kỳ điều gì vào các câu trả lời khác. '

' không được chấp nhận trong HTML4 và thậm chí không được hỗ trợ trong HTML5, có nghĩa là nó có thể sẽ không hoạt động nếu HTML5 được sử dụng. – Magnilex

+0

Tôi chỉ sử dụng nó nếu tôi không thể làm được gì khác. Tôi đã sử dụng nó trong các trang có html5 nhưng không thích. Tôi đã trải qua và thay thế những gì tôi có thể với '

button
' – ott

5

Một tùy chọn khác tốt đẹp là để sử dụng:

width: 40%; 
margin-left: 30%; 
margin-right: 30% 
Các vấn đề liên quan