border-radius + " background-color == beschnitten Grenze
Betrachten div
mit der border-radius
, border
, und background-color
CSS-Attribute angewendet:
HTML:
<div style="background-color:#EEEEEE; border-radius:10px; border: 1px black solid;">
Blah
</div>
Betrachten wir nun ein ähnliches layout, aber mit der background-color
angegeben in eine innere div:
HTML:
<div style="border-radius:10px; border: 1px black solid;">
<div style="background-color:#EEEEEE;">
Blah
</div>
</div>
Ich bin bestürzt durch die Tatsache, dass die background-color
des innere <div>
verschleiert die Grenze der äußeren <div>
.
Dies ist ein Vereinfachtes Beispiel des Problems. In der Realität, ich bin mit einem <table>
als das innere element mit abwechselnden Zeilen-Farben. Und ich bin mit einem <div>
als das äußere element, da border-radius
scheint nicht zu funktionieren, auf der <table>
element. Hier ein jsfiddle ein sample von diesem problem.
Hat jemand einen Vorschlag für eine Lösung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
overflow:hidden
im äußerendiv
:HTML:
Fügen Sie diesen CSS-Regeln:
Finden Sie in den aktualisierten fiddle.
Sie können dieses Problem beheben, durch die Anwendung
overflow: hidden;
um das element mit der Grenze. Eine viel sauberere Weg, denke ich.Macht eine Tabelle verwendet werden? Hier ist ein Beispiel für die Verwendung von DIV ' s: http://jsfiddle.net/6KwGy/1/
HTML:
CSS:
last-child
es auch funktioniert nicht in IE8, so dass ich vermute, ich bin am besten ab, mit melhosseiny Lösung. (er wird kürzer)Fügen Sie etwas Polsterung, oder die hintergrund-Farbe auf das äußere element
Wäre es akzeptabel, geben Sie dem div ein wenig Polsterung? So werden die Farben im hintergrund wäre das nicht zu Konflikten.
Könnte man hinzufügen, border-radius, um die child-element zu.
HTML: