2011-10-25 48 views
24

Tôi có một mã HTML là;Căn giữa văn bản "span" bên trong một div

<div class="left"> 
<span class="panelTitleTxt">Title text</span> 
</div> 

CSS của tôi như sau;

.left { 
    background-color: #999999; 
    height: 50px; 
    width: 24.5%; 
} 
span.panelTitleTxt { 
       display: block; 
       width: 100%; 
       height: 100%; 
} 

Bây giờ làm cách nào để căn giữa căn chỉnh văn bản nhịp trong div? (Giả sử rằng div "trái" sau khi chuyển đổi% nhận được chiều rộng px là 100px)

Tôi đã thử cách tiêu chuẩn sử dụng margin:auto, nhưng điều đó không hoạt động.

Ngoài ra, tôi muốn tránh sử dụng text-align:center.

Có cách nào khác để sửa lỗi này không?

+7

Tại sao bạn muốn tránh" căn chỉnh văn bản: trung tâm "nếu bạn không ngại tôi hỏi? –

+0

Nếu bạn muốn căn giữa vào văn bản của khoảng, hãy sử dụng 'span {text-align: center;}' Nếu điều này không tạo ra kết quả bạn muốn, bạn sẽ phải giải thích lý do tại sao chúng tôi có thể giúp bạn. (Nếu không, chúng tôi chỉ cần đoán xem yêu cầu thực tế là.) –

+0

Nếu đó là a _title_, sử dụng thẻ thích hợp (h1, h2, h31 h4, h5 hoặc h6), Không sử dụng ngữ nghĩa không ngữ nghĩa. – Kyle

Trả lời

27

Bạn đang đưa khoảng cách rộng 100% khiến nó mở rộng đến kích thước của cha mẹ. Điều này có nghĩa là bạn không thể căn giữa nó, vì không có chỗ để di chuyển nó.

Bạn có thể đặt khoảng thời gian cho chiều rộng đã đặt, sau đó thêm lại margin:0 auto. Điều này sẽ căn giữa nó.

.left 
{ 
    background-color: #999999; 
    height: 50px; 
    width: 24.5%; 
} 
span.panelTitleTxt 
{ 
    display:block; 
    width:100px; 
    height: 100%; 
    margin: 0 auto; 
} 
+0

Bạn không thể chỉ định chiều rộng của phần tử nội tuyến (ví dụ: 'span'): http://stackoverflow.com/a/621406/343204 – Snowcrash

+4

Bạn cũng có thể khi bạn thay đổi thành phần khối. – Lee

4

Nếu bạn biết chiều rộng của khoảng bạn chỉ có thể nhồi nhét ở lề trái.

Hãy thử điều này:

.center {text-align: center}
div.center khoảng {display: table; }

Thêm "trung tâm: lớp để bạn

Nếu bạn muốn có một số nhịp làm trung tâm, nhưng không phải người khác, thay thế. 'Khoảng div.center' trong bảng phong cách của bạn đến một lớp học (ví dụ như" trung tâm -span ") và thêm lớp đó vào khoảng thời gian

Các vấn đề liên quan