2014-10-03 12 views
5

Tôi có một widget mà không có thể được bọc trong div khác.Hủy bỏ một phần của biên giới

Câu hỏi của tôi là làm thế nào để loại bỏ biên giới từ tiêu đề/title-bar nhưng vẫn giữ nó xung quanh phần còn lại của DIV? Ví dụ bên dưới.

Thêm đường viền vào chỉ .không thể thực hiện được vì nếu người dùng cuối thêm đệm vào phần cuối/đầu của số thứ div của tiện ích.

Image issue

<div class="widget"> 
    <div class="header">Header Title</div> 
    <div class="body">My Content</div> 
</div> 


.widget { 
    height: 100px; 
    width: 130px; 
    border: 3px solid blue; 
    position: absolute; 
    overflow: hidden; 
} 
.header { 
    width: 100%; 
    min-height: 24px; 
    max-height: 24px; 
    display: block; 
    background-color: grey; 
    color: white; 
} 
.body { 
    width: 100%; 
    height: calc(100% - 24px); 
} 

http://jsfiddle.net/botwfngv/

+1

http://jsfiddle.net/botwfngv/1/ – Cheery

+0

Cảm ơn bạn Cheery! –

+0

Thật không may, 'overflow: hidden;' nên được loại bỏ, nếu không bạn không thể bao gồm biên giới của cha mẹ của đứa trẻ. – Cheery

Trả lời

4
.widget { 
    height: 100px; 
    width: 130px; 
    border: 3px solid blue; 
    position: absolute; 
} 
.header { 
    width: 100%; 
    min-height: 24px; 
    max-height: 24px; 
    display: block; 
    background-color: grey; 
    color: white; 
    margin: -3px; 
    padding: 3px; 
} 
.body { 
    width: 100%; 
    height: calc(100% - 24px); 
} 

http://jsfiddle.net/botwfngv/2/

+0

Chỉ cần thay đổi 'margin' và' padding' thành '-3px' và' 3px' để khớp với 'border'. 1 – melancia

+0

@MelanciaUK yea, màn hình độ phân giải cao, không thể nhìn thấy các chi tiết nhỏ)) Thanx – Cheery

+0

thưởng điểm nếu bạn có thể hiểu tại sao phá vỡ bootstrap này .. = \ http://jsfiddle.net/botwfngv/3/ –

0

Bạn có thể đạt được kết quả bởi CSS2 chỉ, chỉ cần thêm biên giới với body, không phải toàn bộ widget:

.widget { 
    width: 130px; 
    position: absolute; 
    padding: 25px; 
} 

.header { 
    width: 100%; 
    min-height: 24px; 
    max-height: 24px; 
    display: block; 
    background-color: grey; 
    color: white; 
    padding: 3px; 
    position: absolute; 
    top: 0; 
    left: 0; 
    right: 0; 
} 

.body { 
    width: 100%; 
    height: 100px; 
    border: 3px solid blue; 
    border-top-width: 0; 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    top: 30px; 
} 

JSFiddle Demo.

+0

Đọc lại câu hỏi. –

+0

@ Mr.White Oooops, sai lầm của tôi. Tôi đã cập nhật câu trả lời của tôi ... (chú ý đến 'padding' tôi đã thêm vào' widget'. – dashtinejad

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