2013-07-03 34 views
5

Tôi đang cố gắng để làm một hồ quang sử dụng border-radius như thế này (trong chrome)Border không xuất hiện liên tục

#elem { 
    border: 2px solid orange; 
    border-bottom: none; 

    width: 440px; 
    height: 60px; 
    border-top-right-radius: 220px 60px; 
    border-top-left-radius: 222px 60px; 
} 

nhưng arc là không liên tục. nếu tôi loại bỏ các thuộc tính dưới cùng biên giới (mà làm cho biên giới dưới cùng cũng có thể nhìn thấy) nó đã trở thành liên tục. Làm cho màu đường viền dưới cùng trong suốt cũng không giúp ích gì.

ví dụ: http://jsfiddle.net/kFxec/9/

Không thể hiểu điều gì sai ở đây?

Tôi đang thử tính năng này chỉ dành cho chrome. hoạt động tốt trong firefox

+0

Dường như nó có liên quan đến chiều cao của bạn. Nếu tôi tăng chiều cao lên 90px, nó ổn. Hộp của bạn có cần chỉ cao 60px không? –

+0

hoặc u có thể gian lận như thế này http://jsfiddle.net/kFxec/6/ :) – Pavel

+0

nó cũng hoạt động cho chiều rộng nhỏ nhưng thực sự trong trường hợp của tôi, chiều rộng/chiều cao không tĩnh và tôi đang gán bán kính biên giới theo động chiều rộng và chiều cao. như bán kính ngang 50% chiều rộng và bán kính verticall là 100% chiều cao. đã cập nhật câu hỏi với giá trị đúng cho chiều rộng. –

Trả lời

1

Tôi có thể nói rằng nó là một số loại lỗi. Dường như liên quan đến đường viền dưới cùng. Nó biến mất với CSS này

#elem { 
    border: 2px solid orange; 
    border-bottom: none; 

    width: 440px; 
    height: 60px; 
    border-top-right-radius: 220px 60px; 
    border-top-left-radius: 222px 60px; 
    border-bottom-left-radius: 2px; 
    border-bottom-right-radius: 2px; 
} 

Những gì bạn thấy cắt đường viền phía trên có vẻ như đường viền phía dưới làm những điều kỳ lạ xung quanh. Nhưng cho nó một bán kính vừa phải dường như bằng cách nào đó làm cho nó hoạt động. (Tôi không biết tại sao)

fiddle

+0

tuyệt vời .. nó hoạt động cho tôi –

5

bạn có thể biên thay vì giả với hộp-shadow: http://jsfiddle.net/ZC2m2/

#elem { 
    box-shadow:0 -2px 0 orange; 
    width: 440px; 
    height: 60px; 
    border-top-right-radius: 220px 60px; 
    border-top-left-radius: 222px 60px; 
} 
+0

workaround này là tuyệt vời nhưng tiếc là trong sản phẩm của chúng tôi, chúng tôi đang thực sự sử dụng phong cách biên giới rải rác. tôi đã viết điều này, v.d. để tìm hiểu điều gì là sai. có thể là một lỗi trình duyệt của nó hơn tôi nên đi với giải pháp của bạn. –

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