Leider wird CSS-Gliederung in IE7 nicht unterstützt, daher bleibe ich bei der Verwendung von border. Das Hinzufügen eines Rahmens zu einem beliebigen Element auf der Seite nimmt jedoch Raum in Anspruch und verschiebt möglicherweise die Seite.CSS-Gliederung mit CSS-Rahmen
Wenn ich einen 2px Rahmen hinzufüge, dann setze ich einen -2px Rand, es ist nicht perfekt, wie Listenelemente nach links bewegen, und "margin: auto" wirklich Schrauben mit ihm.
können Sie Beispiele sehen hier:
http://paul.slowgeek.com/nodeSelector/tests/simple.html
http://paul.slowgeek.com/nodeSelector/tests/center1.html
Zum Beispiel, wenn eine Seite hatte:
<div>
<p>Lorem Ipsum</p>
</div>
Und dann tat ich:
<div>
<p style="border: 5px solid red">Lorem Ipsum</p>
</div>
Die Seite wäre jetzt 10 px größer und das p-Element wäre 5 Pixel eingerückt. Aber wenn ich tue:
<div>
<p style="outline: 5px solid red">Lorem Ipsum</p>
</div>
in Firefox 3, würde die Seite sein, die genau die gleiche Höhe und das Element würde in der gleichen Position sein. Ich möchte, dass dieses Verhalten über den Browser funktioniert.
Wie können Sie einen CSS-Rahmen verwenden, um den Effekt einer CSS-Gliederung zu erhalten?
+1: Dies ist, was ich tue, außer dass ich einen transparenten Rahmen verwenden. – Joel
+1: Yup, gleiche Sache. –
als Tipp, wenn Sie semi-transparenten Rahmen hinzufügen möchten, sollten Sie immer Hintergrund-Clip-Eigenschaft für CSS3 gut funktionieren, so dass ich vorschlagen, wenn Sie halbtransparente Rahmen hinzufügen möchten, Gliederung verwenden, und wenn Sie einfarbigen Hintergrund verwenden gleiche Farbe als nicht schwebend und eine andere Farbe im Hover-Zustand –