Ich würde auf einer Webseite gerne Navigationstexte unterschiedlicher Länge diagonal durchstreichen (von links unten nach rechts oben). Wie liesse sich das am besten realisieren? Eventuell mit Javascript? Danke für eure Hinweise. Harry
Im Grunde Text der durch CSS Bezeichner class oder id ausgezeichnet ist. Als Bsp würde aber sicher auch reiner text bzw. html-getaggter text ausreichen. <p>Dieser Text soll diagonal durchgestrichen werden</p> PS: <s> ist mir bekannt, geht aber nur horizontal, afaik.
@Floyd: Jetzt hab ich zwar grad ein image gebastelt, aber es aber offenbar nicht auf codekicker stellen :-( In jedem Fall stell dir vor, mehrere Worte, die mit einer Linie von links unten nach rechts oben durchgestrichen sind.
Da es meines Wissens weder in HTML noch in CSS vorgesehen ist, diagonale Linien zu zeichen (lasse mich da aber gern eines besseren belehren) ist das nicht so trivial. Da es dynamisch sein soll, wenn ich das richtig verstanden hab, mußt Du zuerst rauskriegen, wie breit und wie hoch der durchzustreichende Text ist. Wenn die Texte eh in einem
<p id="foo">text</p>
eingefasst sind, sollte das mit jQuery möglich sein. Dann wirste ein Canvas mit JavaScript bauen müssen, da dürfte dir lineTo helfen. Den Canvas-Layer positionierts Du dann überhalb des Textes und dann solltest Du dein Ergebnis haben.
Alternativ kannste Dir vielleicht auch das Canvas sparen, indem Du einfach nur eine transparente Grafik nimmst die die diagonale Linie drin hat und die je nach Bedarf entsprechend gestreched in den Hintergrund von einem Layer über dem Text quetscht wird. Das Ergebnis könnte aber je nach Ausgangsgrafik und Länge des Textes relativ komisch aussehen.
Also man kann ja nicht nur Breite und Höhe ermitteln, sondern auch Position bzw. offSet. Das heißt Du kannst den drüber liegenden Layer absolut positionieren. Das stretchen steht hier http://stackoverflow.com/questions/376253/stretch-and-scale-css-background/388817#388817
hatte ich auch als alternative gedacht, aber je mehr ich drüber nachdenke ... die diagonale linie wird da praktisch nie einheitlich, sondern immer leicht verzogen. wenn das nicht stört, ist das natürlich die einfachste lösung.
Im Grunde Text der durch CSS Bezeichner class oder id ausgezeichnet ist. Als Bsp würde aber sicher auch reiner text bzw. html-getaggter text ausreichen. <p>Dieser Text soll diagonal durchgestrichen werden</p> PS: <s> ist mir bekannt, geht aber nur horizontal, afaik.
<p>Dieser Text soll diagonal durchgestrichen werden</p>
PS: <s> ist mir bekannt, geht aber nur horizontal, afaik.