2013-02-11 20 views
74

tôi cần phải vẽ một đường ngang sau khi một số khối, và tôi có ba cách để làm điều đó:đường ngang và đúng cách để mã hóa nó trong html, css

1) Định nghĩa một lớp h_line và thêm các tính năng css để nó, như

#css 
.hline { width:100%; height:1px; background: #fff } 

#html 
<div class="block_1">Lorem</div> <div class="h_line"></div> 

2) sử dụng hr thẻ

#css 
hr { width:100%; height:1px; background: #fff } 

#html 
<div class="block_1">Lorem</div> <hr /> 

3) sử dụng nó như một pseudoclass after

#css 
.hline:after { width:100%; height:1px; background: #fff; content:"" } 

#html 
<div class="block_1 h_line">Lorem</div> 

Cách nào là thực tế nhất?

+1

tôi sẽ nghĩ rằng '


'là các ngữ nghĩa nhất. Ý tôi là, đó không phải là ý nghĩa của nó? – j08691

+2

tại sao không sử dụng 'border-bottom'? – jsweazy

+2

Trong HTML5, phần tử HTML


thể hiện sự ngắt đoạn theo chủ đề giữa các phần tử cấp đoạn văn (ví dụ: thay đổi cảnh trong câu chuyện hoặc thay đổi chủ đề bằng một phần). –

Trả lời

67

hr { 
 
    display: block; 
 
    height: 1px; 
 
    border: 0; 
 
    border-top: 1px solid #ccc; 
 
    margin: 1em 0; 
 
    padding: 0; 
 
}
<div>Hello</div> 
 
<hr/> 
 
<div>World</div>

Sau đây là cách thực hiện html5boilerplate nó:

hr { 
    display: block; 
    height: 1px; 
    border: 0; 
    border-top: 1px solid #ccc; 
    margin: 1em 0; 
    padding: 0; 
} 
+0

Sử dụng thẻ


tất nhiên. – moettinger

+2

** Lưu ý: ** Sử dụng 'margin: 1em auto' nếu bạn muốn nó luôn nằm ở giữa trang. –

+1

@JacquesMarais, không chắc chắn đó là cần thiết vì nó là một phần tử khối không có chiều rộng được xác định để nó sẽ kéo dài chiều rộng của toàn bộ thùng chứa anyway. – moettinger

59

Tôi muốn đánh dấu ngữ nghĩa, sử dụng <hr/>.

Trừ khi nó chỉ là một đường viền những gì bạn muốn, sau đó bạn có thể sử dụng một sự kết hợp của đệm, biên giới và lề, để có được giới hạn mong muốn.

+4

Điều này không hoạt động trong HTML5 –

+5

'


' là HTML5 hợp lệ. Nó được sử dụng đại diện cho một quy tắc ngang, nhưng bây giờ được định nghĩa trong các thuật ngữ ngữ nghĩa như là một ngắt chủ đề giữa nội dung. Hầu hết các trình duyệt sẽ vẫn hiển thị nó như là một đường ngang trừ khi được nói khác đi. Nguồn: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr – AJMaxwell

+0

Tiêu đề cho biết đường ngang và


là vì vậy tôi đã thực hiện việc này. Tiêu đề có lẽ nên đọc dòng ngang theo kiểu. –

2

Nếu bạn thực sự muốn ngắt theo chủ đề, bằng mọi cách, hãy sử dụng thẻ <hr>.


Nếu bạn chỉ muốn một dòng thiết kế, bạn có thể sử dụng một cái gì đó giống như lớp css

.hline-bottom { 
    padding-bottom: 10px; 
    border-bottom: 2px solid #000; /* whichever color you prefer */ 
} 

và sử dụng nó như

<div class="block_1 hline-bottom">Cheese</div> 
0

giải pháp đơn giản của tôi là phong cách hr với css có không có đường viền dưới cùng là & lề dưới, đường viền bằng 0, chiều cao 1 pixel và màu nền tương phản. Điều này có thể được thực hiện bằng thiết lập các phong cách trực tiếp hoặc bằng cách định nghĩa một lớp, ví dụ, như:

.thin_hr { 
margin-top:0; 
margin-bottom:0; 
border:0; 
height:1px; 
background-color:black; 
} 
0

nó là phụ thuộc vào yêu cầu, nhưng nhiều nhà phát triển đề nghị là làm cho mã của bạn như đơn giản càng tốt. vì vậy, hãy đi với thẻ "hr" đơn giản và mã CSS cho điều đó.

+1

Điều này không cung cấp câu trả lời cho câu hỏi. Khi bạn có đủ [danh tiếng] (https://stackoverflow.com/help/whats-reputation), bạn sẽ có thể [nhận xét về bất kỳ bài đăng nào] (https://stackoverflow.com/help/privileges/comment); thay vào đó, [cung cấp câu trả lời không yêu cầu làm rõ từ người hỏi] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-thay thế). - [Từ đánh giá] (/ đánh giá/bài viết chất lượng thấp/17232637) – bish

0

hr { 
 
    display: block; 
 
    height: 1px; 
 
    border: 0; 
 
    border-top: 1px solid #ccc; 
 
    margin: 1em 0; 
 
    padding: 0; 
 
}
<div>Hello</div> 
 
<hr/> 
 
<div>World</div>
nhấn mạnh văn bản

+0

Vui lòng thêm nhận xét giải thích câu trả lời của bạn. – Barthy

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