2014-12-09 15 views
6

Hành vi mặc định của các phần tử HTML nội tuyến có đường viền là ở cuối và đầu dòng tại dấu ngắt dòng, không có đường viền. Giống nhưĐường viền CSS ở cuối dòng trên các phần tử nội tuyến

span { 
    border: 1px solid black; 
} 

xem kết quả tại địa chỉ: http://jsfiddle.net/yuszuv/ft7waga3/1/

Có cách nào để vẽ "mất tích" biên giới, do đó mỗi dòng dường như được chứa trong một hộp?

+0

Lưu ý đẹp nhưng có lẽ bạn có thể làm cho nó từ-break: break-tất cả http: // jsfiddle. net/ft7waga3/4/ – dfsq

+1

Thuộc tính CSS mới có phần 'box-decoration-break: clone;' giải quyết vấn đề này cho Firefox. – jan

+0

@jan Cảm ơn, tôi không biết tài sản mới đó. Tôi đã cập nhật câu trả lời của mình với giải pháp cho tất cả các trình duyệt, ngoại trừ IE. –

Trả lời

10

Tôi sợ bạn không thể tạo mỗi dòng trong hình chữ nhật bằng cách sử dụng border trên phần tử display:inline.
Tuy nhiên, cách giải quyết khác là sử dụng box-shadow thay thế.

span { 
    line-height: 32px; 
    box-shadow: 0 0 0 1px black; 
} 

jsfiddle

Dưới đây là một ảnh chụp màn hình từ FireFox:

enter image description here


khi Jan cho biết, một cách tiếp cận tốt hơn là sử dụng box-decoration-break

Theo canIuse, điều này sẽ làm việc cho tất cả các trình duyệt mới nhất, ngoại trừ IE:

span { 
    border: 1px solid black; 
    -webkit-box-decoration-break: clone; 
    box-decoration-break: clone; 
} 

updated jsFiddle

+2

Không hoạt động bình thường trên Firefox. –

+0

@ chipChocolate.py Hoạt động trên FF 27.0.1 của tôi đang chạy trong OSX. Có lẽ bạn cần thêm tiền tố '-moz-', vì vậy hãy sử dụng '-moz-box-shadow: 0 0 0 1px black; box-shadow: 0 0 0 1px đen; ' –

+0

[' box-shadow'] (http://caniuse.com/#search=box-shadow) không cần tiền tố. –

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