2012-05-11 71 views

Trả lời

5

Có, bạn có thể thực hiện việc này mà không cần thêm bất kỳ dấu phụ nào. Viết như thế này:

CSS

.active{ 
    border:1px solid red; 
    border-bottom:0; 
    width:80px; 
    height:40px; 
    margin:30px; 
    position:relative; 
    -moz-border-radius:5px 5px 0 0; 
    -webkit-border-radius:5px 5px 0 0; 
    border-radius: 5px 5px 0 0; 
} 
.active:after, 
.active:before{ 
    content:''; 
    width:40px; 
    height:30px; 
    border:1px solid red; 
    position:absolute; 
    bottom:-3px; 
    border-top:0; 
} 
.active:after{ 
    border-left:0; 
    -moz-border-radius:0 0 5px 0; 
    -webkit-border-radius:0 0 5px 0; 
    border-radius: 0 0 5px 0; 
    left:-41px; 
} 
.active:before{ 
    border-right:0; 
    -moz-border-radius:0 0 0 5px; 
    -webkit-border-radius:0 0 0 5px; 
    border-radius: 0 0 0 5px; 
    right:-41px; 
} 

HTML

<div class="active">hi</div> 

Kiểm tra này http://jsfiddle.net/p6sGJ/

+0

Bạn quên thêm thuộc tính "border" bán kính "thực". Chúng tôi không muốn thêm bất kỳ sự điên rồ nào nữa: http://remysharp.com/2012/02/09/vendor-prefixes-about-to-go-south/ – peirix

+0

Thật tuyệt nhưng tôi chỉ đưa ra một ví dụ hỗ trợ -webkit & mozilla browser :) – sandeep

+1

Vâng, nhưng vấn đề là có thể ai đó sẽ chỉ sao chép dán mã của bạn, và đó có thể là cách vấn đề bắt đầu ngay từ đầu. Vì vậy, tôi chỉ làm một chỉnh sửa nhanh trên câu trả lời của bạn, đó là một giải pháp tốt, nhân tiện, vì vậy chúng tôi có thể cố gắng tránh điều này càng nhiều càng tốt. – peirix

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