Ich habe ein div, das wie ein orangefarbenes Quadrat aussieht
Ich möchte irgendwie ein weißes X in dieses div zeichnen, damit es eher so aussieht
Wie auch immer, dies in CSS zu tun, oder wird es einfacher sein, dies einfach in Photoshop zu zeichnen und das Bild als div-Hintergrund zu verwenden? Der div-Code sieht einfach so aus
Wahrscheinlich zu komplex für diese Anwendung, aber eine sehr gute Demonstration dessen, was mit Transformationen gemacht werden kann.
– Marc Audet
20. September 2013 um 16:24 Uhr
Das ist die wahre Antwort! Nett. Definitiv nicht “überkomplex”, es ist perfekt, weil es keine Schriftart verwendet und auf jede Größe skaliert werden kann. Upvoted!
– Erster Scheitelpunkt
10. September 2014 um 20:57 Uhr
Ich stimme H Dog vollkommen zu, dies ist die richtige Antwort. Mit dem ❌ in Chrome zeigt ein Fragezeichen in einem Kästchen an. Mit einer Schriftart werden die Enden des Kreuzes abgewinkelt. Gut gemacht Tambo!!
– Rogala
9. März 2015 um 16:01 Uhr
Erstaunliche Lösung, positiv bewertet. Ich habe eine Antwort hinzugefügt, die Ihrer Arbeit adaptive Mathematik hinzufügt, wobei die Lösung selbst natürlich voll anerkannt wird.
– Rashid Clark
10. Juli 2020 um 18:08 Uhr
Neurotransmitter
Noch ein anderer reines CSS Lösung (dh ohne die Verwendung von Bildern, Zeichen oder zusätzlichen Schriftarten), basierend auf @Bansoa ist die Antwort.
Ich habe es vereinfacht und ein bisschen hinzugefügt Flexbox Magie, um es ansprechbar zu machen.
Cross skaliert in diesem Beispiel automatisch auf jeden quadratischen Container, und um die Dicke seiner Linien zu ändern, muss man nur tunen height: 4px; (um ein Kreuz zu machen wirklich reaktionsschnellmöchten Sie vielleicht die einstellen height in Prozent oder anderen relativen Einheiten).
Angenommen, ich möchte, dass es mit nicht quadratischen DIVs funktioniert und das Seitenverhältnis nicht erhalten bleibt?
– RossPresser
4. Oktober 2018 um 13:15 Uhr
@RossPresser Sie können so etwas verwenden transform: scale(1, 0.75); um das Kreuz in die gewünschte Form zu skalieren. Es muss auf die angewendet werden <div>.
– Neurotransmitter
5. Februar 2020 um 10:26 Uhr
Beste Antwort hier noch.
– avia
2. August 2021 um 7:26 Uhr
Mit CSS-Verläufen können Sie ein hübsches X erstellen:
Da dies ausgewählt wurde, werde ich die (möglicherweise) nützlichen Informationen aus meiner Antwort extrahieren und hier einfügen. × könnte schöner aussehen als ein X abhängig von Ihrer Schriftart.
– Grau
20. September 2013 um 15:55 Uhr
Alle anderen Antworten, die die Verwendung eines Pseudo-Elements (::before oder ::after) sind viel eher zu bevorzugen, da dies im Gegensatz zu dieser Antwort semantisch korrekt wäre. Dass der Fragesteller diese Antwort gewählt hat, zeigt, dass hier vielleicht Unverständnis herrscht …!
– Netzsurfer
20. September 2013 um 16:05 Uhr
@Netsurfer Ich stimme zu, dass die Verwendung der Pseudoelemente bevorzugt wird, aber ich bin mir nicht sicher, ob ich sagen würde, dass dies “semantisch falsch” ist. Die Verwendung eines Pseudo-Elements hat viele Vorteile (ich denke, der wichtigste ist die Tatsache, dass Sie den Text nicht auswählen können), aber das macht diese Lösung nicht falsch.
– Grau
20. September 2013 um 16:33 Uhr
@Gray: Das tut es! Denn wenn das ‘X’ eine ‘Funktion’ hat, dann sollte es eine sein <input> oder <button> Element. Und wenn nicht, ist es ein reines “Präsentations-Markup”. Es ist also in beiden Fällen falsch. Und vorausgesetzt, es dient nur zu Präsentationszwecken, dann sollte es mit CSS gemacht werden und dem Markup keine Nicht-Inhalte hinzugefügt werden.
– Netzsurfer
20. September 2013 um 17:06 Uhr
@Netsurfer Interessanter Standpunkt. Danke für die Klarstellung. Ich verstehe deinen Punkt, wenn du es so ausdrückst.
– Grau
20. September 2013 um 17:26 Uhr
Grau
Noch ein weiterer Versuch … dieser verwendet x. Viele der Beispiele auf dieser Seite werden für mich nur als Box angezeigt, aber × funktioniert
Da dies ausgewählt wurde, werde ich die (möglicherweise) nützlichen Informationen aus meiner Antwort extrahieren und hier einfügen. × könnte schöner aussehen als ein X abhängig von Ihrer Schriftart.
– Grau
20. September 2013 um 15:55 Uhr
Alle anderen Antworten, die die Verwendung eines Pseudo-Elements (::before oder ::after) sind viel eher zu bevorzugen, da dies im Gegensatz zu dieser Antwort semantisch korrekt wäre. Dass der Fragesteller diese Antwort gewählt hat, zeigt, dass hier vielleicht Unverständnis herrscht …!
– Netzsurfer
20. September 2013 um 16:05 Uhr
@Netsurfer Ich stimme zu, dass die Verwendung der Pseudoelemente bevorzugt wird, aber ich bin mir nicht sicher, ob ich sagen würde, dass dies “semantisch falsch” ist. Die Verwendung eines Pseudo-Elements hat viele Vorteile (ich denke, der wichtigste ist die Tatsache, dass Sie den Text nicht auswählen können), aber das macht diese Lösung nicht falsch.
– Grau
20. September 2013 um 16:33 Uhr
@Gray: Das tut es! Denn wenn das ‘X’ eine ‘Funktion’ hat, dann sollte es eine sein <input> oder <button> Element. Und wenn nicht, ist es ein reines “Präsentations-Markup”. Es ist also in beiden Fällen falsch. Und vorausgesetzt, es dient nur zu Präsentationszwecken, dann sollte es mit CSS gemacht werden und dem Markup keine Nicht-Inhalte hinzugefügt werden.
– Netzsurfer
20. September 2013 um 17:06 Uhr
@Netsurfer Interessanter Standpunkt. Danke für die Klarstellung. Ich verstehe deinen Punkt, wenn du es so ausdrückst.
– Grau
20. September 2013 um 17:26 Uhr
Antonio Regadas
Sie können die CSS-Eigenschaft “content” verwenden:
können Sie nicht einfach den Buchstaben X verwenden und ihm eine absolute Position und Farbe Weiß geben und auf dem Hintergrund platzieren
– topcat3
20. September 2013 um 15:36 Uhr
@topcat3 — Stellen Sie sich vor, wie das in einem Screenreader klingen würde.
– QUentin
2. März 2020 um 10:24 Uhr