2013-05-08 26 views
6

Tôi nhận được hành vi không mong muốn (đối với tôi) khi thanh cuộn dọc hiển thị. Tôi không hiểu những gì các ràng buộc về chiều cao của container có thể được.thanh cuộn hiển thị khi không mong đợi chúng có chiều cao dòng và sự cố tràn-y

tôi có thể làm cho vấn đề này đi bởi một trong hai thay đổi lề của LI: 1 hoặc thiết lập lineheight của UL: bình thường thay vì 1.

bất cứ ai có thể giải thích những gì đang thực sự xảy ra? Đó là để nói những gì chiều cao đã vượt quá mà đòi hỏi một thanh cuộn dọc?

Tôi đã tạo JSFIDDLE rất đơn giản để minh họa sự cố tôi đang gặp phải.

HTML code:

<div class="content-section" > 
    <ul > 
    <li>cheese</li> 
    <li>crackers</li> 
    </ul> 
</div> 

mã CSS:

body { 
line-height: 1; 
} 

ul { 
    margin: 0; 
} 

.content-section { 
     overflow-y: auto; 
} 
+1

tôi đang ở chế độ FF và tôi không thấy bất kỳ thanh cuộn dọc nào, nvm tôi thấy trong chrome – Huangism

+0

nên đã chỉ định tôi đã gỡ lỗi trong Chrome. – badMonkey

Trả lời

0

Tôi không chắc chắn lý do tại sao bạn cần phải tràn để thiết lập để tự động, nếu bạn gỡ bỏ nó sau đó vấn đề giải quyết

Nếu phần nội dung cần phải có chiều cao nhất định, sau đó đặt chiều cao và thanh cuộn sẽ xuất hiện nếu cần (nếu bạn cần tràn)

http://jsfiddle.net/pGuHG/2/

.content-section { 
    overflow-y: auto; 
    height: 100px; 
} 
4

Điều này là do line-height của bạn được thiết lập để 1, có nghĩa là line-height là giống như font-size. Điều này làm cho phông chữ hơi tràn dòng. Bạn cần đặt line-height thành giá trị lớn hơn chiều cao của văn bản, như bạn có thể đã đoán. Các văn bản là kỹ thuật hành xử như nó phải. Chiều cao của hộp được xác định bởi chiều cao của các dòng, nhưng văn bản là bao giờ nên lớn hơn một chút so với các dòng. Chiều cao dòng của bạn sẽ không bao giờ bằng kích thước phông chữ của bạn từ một quan điểm dễ đọc. Tôi hi vọng cái này giúp được. Tôi biết nó không chính xác cho bạn biết chiều cao đến từ đâu, nhưng tôi tin rằng bạn đã khám phá thành công nhiều phương tiện chống lại nó.

+0

Tôi nghĩ bạn đúng. Tôi có thể đang cố gắng quá chính xác. Tôi đồng ý rằng trực quan chiều cao dòng s/b lớn hơn phông chữ thực tế. Vì lý do gì, cssreset của chúng tôi tự động đặt chiều cao dòng là 1 (và không gây ra các vấn đề khác mà tôi biết). – badMonkey

+0

Tôi chưa bao giờ trải nghiệm cá nhân bạn là gì, nhưng chắc chắn có thể tái tạo nó trong jsFiddle. Có lẽ đã đến lúc sửa đổi thiết lập lại mặc định của bạn. :) – aaronburrows

+0

Tôi gặp vấn đề này với FF 30.0, trong khi Chrome và IE11 không có vấn đề gì. Chiều cao của div là 25px và chiều cao dòng của đầu vào được chứa trực tiếp cũng là 25px, để thẳng đứng giữa văn bản. Điều này làm cho vùng chứa hiển thị thanh cuộn. Tôi chỉ đơn giản là giảm chiều cao dòng của đầu vào đến 23px và nó hoạt động tốt ngay bây giờ. Không bận tâm để thực sự tìm ra nguyên nhân là gì. Chúc mừng! – Majnu

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