2012-03-12 45 views
17

Tôi có danh sách các liên kết được liên kết với một hộp khá hẹp; đủ hẹp cho một số liên kết để bọc.Chiều cao dòng ghi đè CSS trên từ bọc

chiều cao dòng được đặt thành 30px, phù hợp với các liên kết không được bọc; tuy nhiên, đối với một liên kết có văn bản đủ dài để buộc một dòng bọc, chiều cao dòng 30px cũng được áp dụng ở đó, do đó làm cho nó xuất hiện như thể có 2 liên kết chứ không chỉ là liên kết văn bản liên kết.

Tôi muốn bằng cách nào đó (không có js hoặc kết thúc phần cuối trung gian) để có văn bản liên kết được bao bọc có chiều cao dòng 10px hoặc hơn để tạo ấn tượng trực quan về sự tiếp tục và không tách rời.

Trả lời

34

Line-height là nghĩa vụ phải thiết lập khoảng cách giữa các dòng (đặc biệt là khi chúng quấn). Những gì bạn có thể đang tìm kiếm là margin trên đối tượng li. Nếu bạn đặt line-height thành giá trị nhỏ hơn mà bạn muốn khi các dòng bọc và đặt margin thành giá trị bạn muốn ở giữa các mục, bạn nên làm tốt.

Xem nếu điều này làm những gì bạn muốn:

li { 
    padding: 10px 0 0 0; 
    margin: 30px 0; 
    line-height: 10px; 
} 
+2

Tốt, tôi sẽ upvote đó. – thepriebe

+2

Nên có thêm đại diện cho các giải pháp ốp cạnh như thế này, nhưng chỉ có thể gắn cờ giải pháp đó là 1X. Đã yếu để có được đúng, nhưng đây là "con đường" để đi. Thật thú vị khi chiều cao dòng xuất hiện hoàn toàn bị bỏ qua khi lề là giá trị lớn hơn. – virtualeyes

+4

Cảm ơn bạn đã chấp nhận! Dòng 'chiều cao' nhỏ hơn bị bỏ qua vì các giá trị' margin' và 'line-height' là" thu gọn ". Giá trị 'line-height' về cơ bản đặt một lề thẳng đứng trên mỗi dòng. Khi hai đối tượng có lề thẳng đứng liền nhau, thì hai cạnh nhỏ hơn được "thu gọn" về 0, chỉ để lại giá trị lớn hơn. Xin lỗi, nhưng tôi không có một liên kết đến spec cho việc này. – TLS

6

tôi sẽ làm điều đó this way

li { 
    list-style-position: inside; 
    margin: 20px; 
} 

ul { 
    width: 200px; 
    border: solid 1px; 
} 

Hoặc bạn có thể thiết lập các "đầu tiên-line" yếu tố giả như trong this example

li { 
    padding: 10px 0 0 0; 
    margin: 10px; 
    line-height: 30px; 
} 
li:first-line { 
    margin: 10px; 
    line-height: 10px; 
} 
ul { 
    width: 200px; 
} 
+0

mát mẻ, nhưng không có con xúc xắc, không thể có được mặc định bọc line-height thay đổi. Lý tưởng nhất sẽ có văn bản bọc xuất hiện ngay bên dưới với khoảng cách 5px. Tôi sẽ giữ nguyên ... – virtualeyes

+0

Chắc chắn rồi. Nếu bạn muốn đăng mã của mình, tôi sẽ rất vui khi được trợ giúp. – thepriebe

+0

+ 1'd ya cho tùy chọn dòng đầu tiên, css fu của tôi là khá yếu, vì vậy cốm như thế này là mát mẻ để đi qua ;-) – virtualeyes

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