2011-09-17 31 views

Trả lời

14

Điều này sửa lỗi trung tâm hộp chết trên màn hình:

HTML

<table class="box" border="1px"> 
    <tr> 
     <td> 
      my content 
     </td> 
    </tr> 
</table> 

CSS

.box { 
    width:300px; 
    height:300px; 
    background-color:#d9d9d9; 
    position:fixed; 
    margin-left:-150px; /* half of width */ 
    margin-top:-150px; /* half of height */ 
    top:50%; 
    left:50%; 
} 

Xem kết quả

http://jsfiddle.net/bukov/wJ7dY/168/

+1

Chỉ cần một vài lưu ý: vị trí ': tuyệt đối' thường sẽ tốt hơn 'fixed', bạn có thể cần phải đặt' position: relative' cho phần tử cha, và sẽ có vấn đề khi kích thước của bảng sẽ không được biết. Nhưng nếu bạn _can_ đặt kích thước, thì phương pháp này là OK. – Arsen7

+0

Vị trí các phần tử cố định có liên quan đến cửa sổ trong khi các phần tử vị trí tuyệt đối có liên quan đến cha mẹ (cũng có thể là cửa sổ, nếu được đặt bên ngoài div chính), sẽ dễ dàng hơn để định vị thứ gì đó liên quan đến cửa sổ so với một số div trong trường hợp biểu mẫu đăng nhập hoặc cửa sổ bật lên nên tôi đã đi với điều đó. –

+0

Bạn nói đúng. Cố định thực sự sẽ tốt hơn cho các cửa sổ đăng nhập. – Arsen7

4

Tôi nghĩ rằng điều này sẽ làm các trick:

<table border="1px" align="center"> 

Theo http://w3schools.com/tags/tag_table.asp này bị phản đối, nhưng thử nó. Nếu nó không hoạt động, đi cho phong cách, như đã đề cập trên trang web.

+5

http://w3fools.com/ – Pheonix

13

Căn giữa nằm ngang dễ dàng. Bạn chỉ cần đặt cả lề phải "tự động":

table { 
    margin-left: auto; 
    margin-right: auto; 
} 

Dọc trung thường được thực hiện bằng cách thiết lập phụ huynh kiểu hiển thị yếu tố để table-cell và sử dụng vertical-align tài sản. Giả sử bạn có một <div class="wrapper"> xung quanh bàn của bạn:

.wrapper { 
    display: table-cell; 
    vertical-align: middle; 
} 

Thông tin chi tiết có thể được tìm thấy trên http://www.w3.org/Style/Examples/007/center

Nếu bạn cần hỗ trợ cho các phiên bản cũ của trình duyệt Internet Explorer (Tôi không biết những gì làm việc trong những phiên bản của trình duyệt lạ và hiếm khi được sử dụng ;-)) thì bạn có thể muốn search the web để biết thêm thông tin, như: http://www.jakpsatweb.cz/css/css-vertical-center-solution.html (chỉ là lần truy cập đầu tiên, có vẻ như đề cập đến IE)

+3

Các trái/phải tập trung phần làm việc, nhưng hướng dẫn của bạn để trung tâm theo chiều dọc dường như phủ nhận tất cả mọi thứ. Đây là mã bạn đã cung cấp và kết quả, mọi thứ kết thúc ở trên cùng bên trái của màn hình. Tôi đã điền sai? http://jsfiddle.net/wJ7dY/161/ – Bukov

+1

Trình bao bọc cần lớn hơn chỉ là thứ mà nó chứa; o) Xem http://jsfiddle.net/uLQZU/ –

0

This guy có cây đũa thần mà chúng tôi đang tìm kiếm, các bạn.

Để trích dẫn câu trả lời của mình:

chỉ cần thêm "position: fixed" và nó sẽ giữ nó theo quan điểm ngay cả khi bạn di chuyển xuống. nhìn thấy nó ở http://jsfiddle.net/XEUbc/1/

#mydiv { 
    position:fixed; 
    top: 50%; 
    left: 50%; 
    width:30em; 
    height:18em; 
    margin-top: -9em; /*set to a negative number 1/2 of your height*/ 
    margin-left: -15em; /*set to a negative number 1/2 of your width*/ 
    border: 1px solid #ccc; 
    background-color: #f3f3f3; 
} 
3

Tôi đã sử dụng cheat này ít trong một thời gian bây giờ. Bạn có thể thích nó.tổ bảng bạn muốn tập trung trong bảng khác:

<table height=100% width=100%> 
<td align=center valign=center> 

(thêm bảng của bạn ở đây)

</td> 
</table> 

align và valign đặt bàn chính xác ở giữa màn hình, không có vấn đề gì khác đang diễn ra.

+0

Điều này chỉ hoạt động nếu bạn loại bỏ DOCTYPE sau đây: Tất nhiên đó là nếu bạn sử dụng một trình soạn thảo thêm phần này theo mặc định. Làm tôi chán nản một lần cố gắng "ăn gian" này và không thể hiểu tại sao nó không hoạt động. – IamBatman

0

Tôi đã thử thuộc tính căn chỉnh phía trên trong HTML5. Nó không được hỗ trợ. Ngoài ra tôi đã cố gắng flex-align và vertival-align với các thuộc tính phong cách. Vẫn không thể đặt TABLE ở giữa màn hình. Bảng đặt kiểu sau ở giữa theo chiều ngang.

style = "margin: auto;"

3

Đối với liên kết ngang (Không CSS)

Chỉ cần chèn một thuộc tính align bên trong thẻ bảng

<table align="center"></table 
Các vấn đề liên quan