2013-09-21 55 views
11

Tôi đang cố gắng đặt 2 phần bên cạnh nhau bằng cách sử dụng inline-block và chiều rộng dưới dạng phần trăm, nhưng nó không làm đầy toàn bộ chiều rộng của cửa sổ của tôi.Hiển thị khối nội tuyến với chiều rộng là phần trăm

Những gì tôi có cho đến nay:

HTML

<section class="left-content"> 
    "Some Code" 
</section> 
<section class="main-content"> 
    "Some More Code" 
</section> 

CSS

.left-content, .right-content { 
    width: 15%; 
    min-width: 150px; 
    padding: 5px; 
    display: inline-block; 
    overflow: hidden; 
    vertical-align: top; 
} 
.main-content { 
    width: 85%; 
    min-width: 712px; 
    padding: 10px; 
    display: inline-block; 
    overflow: hidden; 
    vertical-align: top; 
} 

Nhưng trừ khi tôi làm việc ra các tỷ lệ chính xác xuống một dấu thập phân trên màn hình của tôi nó không công việc. Có ai biết cách để làm điều này bằng cách sử dụng inline-block hoặc tôi có phải sử dụng float không?

+0

Tôi đã tìm thấy nó thường là vì có một không gian vật lý ở giữa các phần tử. Bạn có thể loại bỏ bất kỳ khoảng trống nào giữa các phần tử trong đánh dấu hoặc đặt 'font-size: 0' trên parent, và sau đó khôi phục phông chữ trong chính các phần tử đó. – Chad

Trả lời

28

Đó là do không gian trắng và ngắt dòng trong đánh dấu HTML của bạn gây ra sự cố này. Có hai lựa chọn để giải quyết "vấn đề":
1. loại bỏ các ngắt dòng và trắng-không gian từ mã của bạn
2. thiết lập font-size của phần tử cha mẹ để '0'

Ngoài ra có bạn thiết box-sizing: border-box ?

+0

Cảm ơn vì điều này. Chỉ cần một nỗi đau mà tôi phải thiết lập lại kích thước phông chữ. :) – dpDesignz

+1

Có ;-) nhưng không có phương pháp nào không có bất kỳ hạn chế nào. Cách thay thế bằng cách sử dụng 'phao' không tốt hơn ...! Bạn có sự lựa chọn giữa ít hơn của hai tệ nạn. – Netsurfer

+0

cảm ơn đã chỉ cho tôi đúng hướng, nhưng tại sao không chỉ xóa khoảng trống trong html. Trong trường hợp của anh ta: [code] ...

... [thêm mã] –