2012-02-03 26 views
23

Tôi muốn làm cho mỗi thành phần này là một dòng khác nhau, không sử dụng <br /> trong HTML, <h1> là phần tử khối nhưng tôi phải sửa chữa width. Làm thế nào tôi có thể làm cho neo đến dưới <h1> không bên cạnh?Tạo dòng mới mà không cần sử dụng <br> trong HTML

<h1 id="viewerTitle">Header </h1> 
<a href="#" class="view-options">View options</a> 
<a href="#" class="view-options">View options</a> 

Dưới đây là một ví dụ: http://jsfiddle.net/mmhhd/

Trả lời

35

Bắt đầu bằng cách loại bỏ float: left từ h1.

Sau đó, thêm quy tắc:

a.view-options { 
    display: block; 
} 
+0

Đó là điểm :) – palAlaa

+0

Tại sao nó là điểm? Nó không thay đổi chiều rộng (thiết lập chiều rộng làm điều đó); trừ khi bạn muốn một cái gì đó ở bên phải của tiêu đề, bạn không nên nổi nó. – Kylos

3

Tận dụng thẻ neo chặn các yếu tố là tốt.

5

Sử dụng CSS để làm cho các thẻ liên kết neo khối:

a.view-options { display: block; } 
+0

Cố gắng sửa đổi jsfiddle, neo dường như đi trước h1! – palAlaa

+1

http://jsfiddle.net/RikudoSennin/mmhhd/2/ tiêu đề được thả nổi, do đó, rõ ràng là theo thứ tự. –

9

Sử dụng CSS:

a { 
    display: block; 
} 

Theo mặc định a tag là một yếu tố nội tuyến, vì vậy bạn phải thay đổi thuộc tính hiển thị của nó.

Từ đặc điểm kỹ thuật CSS:

yếu tố Block cấp là những yếu tố của văn bản nguồn được định dạng trực quan như các khối (ví dụ, đoạn văn). Các giá trị sau của thuộc tính 'display' tạo thành một khối phần tử: 'block', 'list-item' và 'table'.

http://www.w3.org/TR/CSS2/visuren.html#block-boxes

yếu tố Inline cấp là những yếu tố của tài liệu nguồn mà không tạo khối mới của nội dung; nội dung được phân phối trong các dòng (ví dụ: các phần văn bản được nhấn mạnh trong một đoạn, hình ảnh nội tuyến, v.v.). Các giá trị sau của thuộc tính 'hiển thị' tạo thành phần tử cấp nội tuyến: 'nội dòng', 'bảng nội tuyến' và 'nội dòng chặn'. Phần tử cấp nội tuyến tạo các hộp cấp nội tuyến, là các hộp tham gia vào ngữ cảnh định dạng nội tuyến.

http://www.w3.org/TR/CSS2/visuren.html#inline-boxes

3

Hãy nổi ra khỏi thẻ h1 và làm hiển thị một tag: display: block;

13

cách Alternative:

Di float:left; trong h1display: inline-block; trong a.view-options

Sau đó, thêm

h1:after, a:after { 
    content:"\a"; 
    white-space: pre; 
} 

Xem http://jsfiddle.net/8my6q/

2

Đây là cách làm việc cho tôi.

p.autonewline {white-space: pre-line;} 
+0

Đây chính xác là những gì tôi đang tìm kiếm! Nó làm cho html sử dụng các dòng mới trong văn bản, như trong textarea – lubosz

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