CSS different border widths overlapping themselves -
i'm having trouble borders overlapping because of different width border-top has.
here example code of problem: http://jsfiddle.net/u7khx/
.border{ width: 200px; height: 200px; border-top:5px solid #894b9d; border-right: 1px solid #dad9d9; border-bottom: 1px solid #dad9d9; border-left: 1px solid #dad9d9;
as can see purple part not complete.
any ideas?
you can make top border perfect rectangle , still have other borders way want them using div's ::after
pseudo element.
put top border on div , other 3 borders on pseudo-element.
for example:
.border { width: 200px; height: 200px; border-top:5px solid #894b9d; padding: 0 1px 1px 1px; position:relative; } .border::after { display:block; content:''; position:absolute; top:0; left:0; width:200px; height:200px; border-color:#dad9d9; border-style:solid; border-width:0 1px 1px 1px; }
see updated fiddle.
edit:
or if don't want rely on given width , height, this:
.border { display:inline-block; position:relative; padding:.5em; border-top:5px solid #894b9d; } .border::after { display:block; content:''; position:absolute; top:0; left:0; width:100%; height:100%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; border-color:#dad9d9; border-style:solid; border-width:0 1px 1px 1px; }
i've made inline-block, show works fine dynamic content sizes, can work kinds of widths.
Comments
Post a Comment