2012-04-24 43 views
5

Tôi gặp sự cố với định tâm div trong HTML (dọc & nằm ngang). Mã của tôi trông giống như sau:Làm cách nào để căn giữa div?

<div id="container">SOME HTML</div> 

#container{ 
    width: 366px; 
    height: 274px; 
    margin: 50%; 
    top: -137px; 
    left: -188px; 
    position:absolute; 
} 

Chỉ chrome trung tâm div này vào giữa màn hình.

+4

tôi có thể bị thiếu một cái gì đó, nhưng làm thế nào là bạn mong đợi để tập trung một div nếu bạn đang sử dụng định vị tuyệt đối? Bạn có giả định rằng tất cả các màn hình có cùng kích thước và độ phân giải không? –

Trả lời

1

này hiện các trick (dọc & ngang):

#container{ 
    position: absolute; 
    width: 366px; 
    height: 274px; 
    left: 50%; 
    top: 50%; 
    margin-left: -183px; /* half width */ 
    margin-top: -137px; /* half height */ 
} 
7

này sẽ tập trung các <div> theo chiều ngang:

#container{ 
    width: 366px; 
    height: 274px; 
    margin: 0 auto; 
} 

Định tâm theo chiều dọc không phải là khá đơn giản, bạn có thể phải sử dụng javascript cho rằng, hoặc bạn thử this css solution.

1

Bạn có thể sử dụng:

#container { 
    // Your other values, but remove position: absolute; 
    margin: 0 auto; 
} 

Ngoài ra, bạn có thể làm:

#wrapper, #container { 
    border: 1px solid red; 
    height: 500px; 
    width: 600px; 
} 

#wrapper { 
    bottom: 50%; 
    right: 50%; 
    position: absolute; 
} 

#container { 
    background: yellow; 
    left: 50%; 
    padding: 10px; 
    position: relative; 
    top: 50%; 
} 

Và bạn HTML code:

<div id="wrapper"> 
    <div id="container"> 
     <h1>Centered Div</h1> 
     <p> 
      This div has been centered within your browser window.</p> 
    </div> 
</div> 

Đó sẽ tập trung các <div> ở giữa của cửa sổ trình duyệt.

-1

nên là tốt để sử dụng chỉ CSS:

đây là demo

#container{ 
    width: 366px; 
    height: 274px; 
    margin: 50%; 
    top: 50%; 
    left: 50%; 
    position:absolute; 
    top:0; 
    bottom:0; 
    left:0; 
    right:0; 
}​ 
+0

không nhận được, tại sao nó là-1? Có sai không? – AlexC

2
#container{ 
    width: 366px; 
    height: 274px; 
    top: 50%; 
    left: 50%; 
    margin: -137px 0 0 -188px; 
    position:absolute; 
} 
+0

Thanx rất nhiều! ;) Bây giờ nó hoạt động. – What

1

Hãy thử này :

<div class="cont"> 
    <div class="box"></div> 
</div> 

Css:

.cont{ 
    background-color: tomato; 
    width: 600px; 
    height: 400px; 
    position: relative; 
} 
.box { 
    width:100px; 
    height:100px; 
    background-color: teal; 
    color:#fff; 
    position: absolute; 
    left: 50%; 
    top: 50%; 
    transform: translate(-50%, -50%) 
} 
Các vấn đề liên quan