2013-02-05 28 views
6

Giả sử rằng chúng ta có đoạn mã sau:Lề CSS được thêm hoặc được kết hợp?

<div style="margin-bottom:100px;">test</div> 
<div style="margin-top:100px;">test</div> 

tôi nhận thấy rằng đôi khi nó tạo ra 100px của lề giữa các yếu tố và đôi khi nó là 200px (khi chúng ta sử dụng một số thiết lập mà tôi không quen với). Tôi không thể tìm thấy bất kỳ thông tin nào về điều đó trong đặc điểm kỹ thuật. Điều này phụ thuộc vào điều gì?

Nếu chúng tôi có h1p trong tài liệu trống thì lề của h1 sẽ được kết hợp với lề của p. Họ sẽ không tăng thêm. Cho dù lớn hơn sẽ được sử dụng.

+0

chúng trông giống như tôi: http://jsfiddle.net/s7bWq/ – ashley

+0

Tôi hơi mờ về điều này, nhưng tôi nghĩ đó là những gì các trình duyệt phải làm. Đó là, sử dụng lớn hơn của hai lề. Có thể là trình duyệt cụ thể nhưng tôi không chắc chắn ... –

+0

Các DIV sẽ luôn tạo ra 200px lề. Nhưng 'h1' +' p' sẽ kết hợp chúng thành 100px. Điều này cần phải được kiểm tra trong một tài liệu trống. – Atadj

Trả lời

12

Điều này xảy ra vì lợi nhuận của bạn được phép thu gọn. Một số lề có thể chồng lên nhau (chủ yếu là chặn các phần tử) và tạo thành một lề kết hợp được xác định bởi lớn hơn của hai giá trị được xác định trong các quy tắc kiểu phần tử được tính toán - đó là những gì đang xảy ra ở đây. This section từ tài liệu CSS Box Model giải thích chi tiết.

Edit: Là một địa điểm ưa thích, bạn có thể làm được việc này mà không cần điều phá vỡ trong một vài cách

  • Làm các yếu tố (tức là phá vỡ lề gập lại.) (nhiều?) width: 100%; display: inline-block
  • Đặt một khối height: 0; width: 0; overflow: hidden giữa các phần tử và đặt dấu chấm hoặc dấu chấm trong đó.

Tôi đã chia tay một số ngòi fiddle để minh họa. Có thể có các phương pháp khác nhưng đây là cách nhanh chóng để có được các biên lợi nhuận có thể thu gọn nếu bạn cần.

+1

Điều gì đó thường bị mất trong các trang web lớn là chiều cao dòng. Nếu bạn đặt nó ở cái gì đó nhỏ hơn chiều cao của phần tử, bạn có thể mất một số điểm ảnh của lề theo cách đó quá – DMTintner

+0

Đó chính xác là những gì tôi đang tìm kiếm :) Nó phức tạp hơn là một tài sản chuẩn khiến nó xảy ra có lẽ đó là lý do tại sao rất khó để tìm thấy điều này. – Atadj

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