Ich bin auf verschiedene Beiträge gestoßen, wo Leute behaupten, dass negative Margen Hacks sind. Ich habe mich also davon entfernt, sie zu verwenden, mit Ausnahme bestimmter Fälle, in denen ich sie berechtigterweise verwenden kann, z. B. das Werfen von Text vom Bildschirm. Frage, sind negative Ränder ein Hack und wann ist es richtig negative Ränder zu verwenden? Ich habe gesehen, dass sie im 960 Grid System mit, .push
und .pull
, in allen anderen Fällen, in denen sie zu Recht verwendbar sind?!?!Negative Margen, Hack oder nicht?
Antwort
Negative Ränder sind basierend auf W3C specifications zulässig. Ich habe sie benutzt, um Dinge über ihren Container hängen zu lassen.
Ich würde behaupten, es ist kein Hack: Es ist definiert, logisches Verhalten; Es wird in allen Browsern unterstützt. es kann erwartet werden, dass es in zukünftigen Versionen von Browsern unterstützt wird (das Fehlen zukünftiger Unterstützung ist das wichtigste Argument gegen Hacks).
Auch, wie @durilai darauf hinweist, sind sie vom W3C offiziell sanktioniert (wenn auch mit Einschränkungen).
Diese Smashing Magazine article unterstützt den Fall.
Ich vermute, dass sie wegen inkonsistenten Browserverhalten als Hack markiert wurden.
Wenn möglich, verwende ich position: relative
und negative obere und linke Werte, um Elemente an neue Stellen zu ziehen. Dies ist nicht in jedem Fall möglich, aber ich finde, dass es sich in allen Internet Explorer-Varianten konsistenter verhält.
-1 Was inkonsistentes Verhalten des Browsers Beziehen Sie sich darauf? – Tomas
@Tomas dieser springt: http://haslayout.net/css/Negative-Margin-Bug. Hauptsächlich bin ich damit beschäftigt, dass Sie einen anderen Hack anwenden müssen, um konsistente Anzeige in IE6/7 zu erhalten. Dies markiert nicht unbedingt die negative Marge als Hack, aber hat mir genug Grund gegeben, sie zu vermeiden, wann immer es möglich ist. Ich habe den einfachsten Weg gefunden, um x-Browser-Anzeige zu erhalten, ist auf grundsolide, einfache CSS (Position und Floats mit der Breite definiert) zu verlassen. – Pat
+1 für die relative Positionierung. Einstellposition: relativ; kann auch andere Fehler magisch beheben. –
- 1. : checked hack funktioniert nicht
- 2. QGraphicsView fitInView Margen
- 3. css Margen Ausgabe
- 4. Befestigungs Margen von navbar
- 5. Ubiquity Hack
- 6. Nicht-gierige negative Lookbehind
- 7. nicht negative ganze Zahlen
- 8. Null oder negative Werte werden nicht in die Datenbank geschrieben
- 9. Ungewohnte Javascript Syntax/Hack
- 10. Alle IE css hack
- 11. Javascript Spiel Hack Prävention
- 12. Kann negative Dezimalwerte nicht speichern
- 13. Überprüfung auf positive oder negative Zahl
- 14. C++ Closure Hack
- 15. Wie dekodieren Sie einen Anfang ... Vault "Code" oder Hack?
- 16. CSS - Einstellung Padding/Margen basierend auf Textbreite?
- 17. Wie Iframe Hack
- 18. leider nicht möglich, automatische Margen von termcap in Mac ausschalten
- 19. Col-xs-6 divs mit Margen immer
- 20. Wie Css Margen auf ein Label anwenden
- 21. CSS Floats und Margen Probleme in WordPress
- 22. Änderung Margen und Polsterung in nvd3 Diagramm
- 23. Warum sind die Margen für einige Divs?
- 24. unecessary Margen aus- und mit CSS-Einstellhöhe
- 25. Css Hack Problem in Safari
- 26. Wie funktionieren Margen mit Div-Positionierung?
- 27. CSS Margen für Elemente ohne Breite
- 28. Anzeige eine div Breite 100% mit Margen
- 29. Ein schnelles einfaches Problem mit CSS-Margen
- 30. UITextField automatischen Layout mit Margen programmatisch
Ich bin aus Stimmen, aber die Einhaltung der W3C-Spezifikationen ist eines der wichtigsten Argumente ... –
Unterstrichen durch den Vergleich der Spezifikationen der Ränder und Grenzen (die nicht negativ sein kann) – Quentin