Jan 26

Viele Wege führen zu runden Ecken

Tag: Allgemeines,Canvas,Javascript,jQueryPatrick @ 7:23 pm

Nachdem ich vor etlichen Wochen mit Liquid Canvas ein Lösung vorgestellt habe, wie man auf einfache Weise im nachhinein seinen Elementen runde Ecken verpassen kann, ließ mich das Thema seitdem nicht mehr los.

Bei der Suche noch dem besten und ultimativen Ansatz habe ich etliche interessante Projekte ausprobiert.

Vier Lösungsansätze möchte ich hier genauer vorstellen und auf den Einbau und deren Funktionsweise eingehen. Zusätzliche werde ich noch ein paar Alternativen nennen.

jQuery Round Corner

Avinoam Henig stellte auf seiner Homepage mit jQuery Round Corners ein insgesamt ziemlich ausgereiftes jQuery-Plugin zur Verfügung.

Um es nutzen zu können, benötigt man eine jQuery-Version ( die aktuelle Version 1.3(.1)  funktioniert auch! ) und Explorer-Canvas. Beide Skripte müssen zusammen mit dem roundCorner-Skript in den Dateikopf eingebunden werden.

Anschließend bettet man beispielsweise solchen Code wie $(‚#roundCorners‘).roundCorners(„25px“); ein. RoundCorners erzeugt daraus um (beziehungsweise „hinter“) das Element eine Canvas-Grafik mit runden Ecken.

Der Rahmenradius lässt sich für jede Ecke individuell angeben, zum Beispiel .roundCorners(„25px“, 0, „25px“, 0); . Die erste Angabe steht für die linke obere Ecke, weiter folgen rechts oben, rechts unten und links unten.

Angaben zu Rahmenfarbe und – dicke werden entsprechend der CSS-Formatierung des betreffenden Elements angewendet.

Das Ergebnis kann sich insgesamt in allen gängigen Browsern sehen lassen.

Was ich an dieser Umsetzung merkwürdig finde, ist die Veränderung der Element- / Rahmengröße beim Überfahren mit der Maus.

LiquidCanvas

LiquidCanvas von Steffen Rusitschka ist von der Funktionsweise her dem oben genannten RoundCorners sehr ähnlich. Auch hier wird eine Canvas-Grafik verwendet, die das betreffende Element umfasst.

Ebenfalls benötigt LC jQuery und ExCanvas als eingebundene Header-Files. Zusätzlich müssen beide LC-Dateien (liquid-canvas.js und liquid-canvas-plugins.js) eingebunden sein.

Im Gegensatz zu anderen Implementieren lässt sich der Radius der runden Ecken hier nur für alle Ecken allgemein angeben. Dafür bietet LiquidCanvas die Möglichkeit, linieare Farbverläufe als Hintergrund-Füllfarbe zu nutzen.

Ein typischer Aufruf sieht so aus: $(„#liquidCanvas“).liquidCanvas( „[fill{color:#000000} border{color:#dd0000; width:5}] => roundedRect{radius:25}“ );.

Die Farbe und Dicke der Rahmen wird hierbei in dem Aufruf selbst definiert. Das bedeutet aber wiederum, dass man etwaige vorherige Rahmenformatierungen aufheben muss. Dies geht zum Beispiel mit dem Code $(„#liquidCanvas“).css(„border-style“,“none“).

Bei LiquidCanvas fiel mir auf, dass das Skript die padding-Abstände nicht korrekt übernimmt. Hier muss im nachhinein noch Hand an die Elemente gelegt werden, um die Abstände zu korrigieren.

scale9grid

Einen gänzlich anderen Weg geht „Gordon“ mit scale9grid. Dieses orientiert sich an der traditionellen Methode zum Erstellen individueller Rahmen mittels div-Verschachtelungen.

Um scale9grid zu nutzen, benötigt man zum einen jQuery, das Plugin scale9grid und eine (größere) Rahmengrafik, die das Aussehen des zukünftigen Elementrahmens beinhaltet.

Um das betreffende Element werden acht div’s angehangen – für jede Richtung eins – und mit einem Ausschnitt der Rahmengrafikdatei beklebt.

Besonders interessant finde ich die Möglichkeit mit jQuery die Hintergrundgrafik erst kurz vor dem scale9grid-Aufruf hinzu zufügen.

Dies sieht dann beispielsweise so aus: $(‚#scale9grid‘).css(„background-image“,“url(schwarzrot.png)“).scale9Grid({top:30,bottom:30,left:30,right:30});

Die vier Parameter der Methode bestimmen die Schnittpunkte der Grafik. Der Reihe nach: Abstand von oben, von unten, von links und von rechts.

Was mich an dieser Lösung frustriert, sind die Abweichungen von Breite und padding-Angabe. Diese kann man in der Demo gut nachvollziehen.

dd_roundies

Drew Millers Projekt dd_roundies richtet sich speziell an den Internet Explorer (Version 6). Hierbei nutzt die IE-Vektoren-Auszeichnungssprache VML genutzt, um Vektorgrafiken für den IE zu erzeugen, die runde Ecken darstellen (Anmerkung: Explorer Canvas tut das selbe).

dd_roundies benötigt keine anderen (fremden) Skript-Dateien außer die eigene DD_roundies.js.

Mit der Anweisung DD_roundies.addRule(‚#dd_roundies‘, ’25px‘, true); kann beispielsweise ein 25 Pixel breiter Rahmenradius erzeugt werden. Auch hierbei können 4 verschiedene Werte (wie "10px 5px 3px 0" als zweiten Parameter) angegeben werden, um jeder Ecke einen indiviuellen Rahmenradius zuzuweisen.

Millers Skript kann jedoch nicht mit table-Elementen und textarea’s umgehen. Desweiteren gibt es aktuell noch etliche Probleme mit der Beta der 8. IE-Generation.

Für Browser, die von Haus aus Rahmenradius-Eigenschaften css-seitig ( -moz-border-radius, -webkit-border-radius oder das W3C-konforme border-radius ) unterstützen, gibt es den optionalen dritten Parameter, der diese nativen Eigenschaft nutzt.

Opera bleibt bei dieser Lösung jedoch außen vor. Zudem sehen die nativen runden Ecken im Firefox 2 sehr dürftig aus, so dass man hier andere Techniken wählen sollte.

Ansonsten erzeugt dd_roundies eine pixelgenaue Übereinstimmung zwischen Firefox 3, Webkit/Safari 3 und IE6 /7.

Auf meiner eingerichteten Demo-Seite kann jeder sich selbst ein Bild über die erzielten Ergebnisse der einzelnen Lösungen machen.

Alternative (jQuery-) Projekte, die sich auch mit runden Ecken beschäftigen:

Fazit

Die perfekte Lösung gibt es noch nicht.

Grundsätzliche bevorzuge ich, soweit es möglich ist, die nativen CSS-Eigenschaften runde Rahmen um Elemente zu erzeugen.

Für IE und Opera bietet es sich, die Projekte, die mit Canvas arbeiten, genauer anzuschauen und eines davon zu nutzen.

2 Antworten zu “Viele Wege führen zu runden Ecken”

  1. dating chat site sagt:
  2. date online site sagt:
  3. popular dating sites sagt:
  4. juicydatessites sagt:

    plenty of fish dating site https://zonlinedating.com/

  5. local single sagt:
  6. best free gay chat sagt:

    gay boy chat rooms https://newgaychat.com/

  7. gay cumshot chat sagt:

    gay furry chat one on one https://gaychatcams.net/

  8. asian gay chat phone lines free sagt:

    chat gay las vegas https://gaychatspots.com/

  9. gay chat men's room sagt:

    m4m chat phone free rochester ny gay https://gay-live-chat.net/

  10. choose a gay video chat free sagt:

    gay couple on chat video https://chatcongays.com/

  11. gay chicago webcam chat sagt:
  12. asain gay chat phone lines sagt:

    gay chat rouletter https://gaychatnorules.com/

  13. gay chat random sagt:

    bears.com official website gay chat room https://gaymusclechatrooms.com/

  14. gay black video chat sagt:

    ontario calif gay chat room https://free-gay-sex-chat.com/

  15. sacramento gay chat sagt:

    gay jerk off chat https://gayinteracialchat.com/

  16. gay sex video chat sagt:

    gay live chat rochester video https://gaymanchatrooms.com/

  17. 1deviation sagt:

    1cognizant

  18. meritking sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    https://www.nybc.tw/post/723?page=2

  19. canlı sex hattı sagt:

    canlı sex hattı

    thank you for publish post :

  20. izmir escort sagt:

    izmir escort

    izmir escort sitesi gururlar sunar.

  21. child porn sagt:

    child porn

    best porn web site click and go watch porn.

  22. xxlargeseodigi sagt:

    xxlargeseodigi

    xxlargeseodigi seo hizmetleri

  23. bağcılar escort sagt:

    bağcılar escort

    bağcılar escort sitesi ile bağcılar escort bayanlar burada.

  24. porn sagt:
  25. sikiş sagt:
  26. çeşme transfer sagt:

    çeşme transfer

    çeşme transfer

  27. grandpashabet sagt:
  28. grandpashabet sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    https://www.celalyurtcu.com/etiket/oyuncu-kasasi

  29. child porn sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    https://www.modellismopiu.net/m gallerie/main.php?g2_view=core.UserAdmin

  30. yasam ayavefe sagt:

    yasam ayavefe

    yasam ayavefe

  31. bu site sitemap tarafından güncellenmiştir sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    https://tjmr.org/2020/05/22/status-and-efficacy-of-sacrifice-in-ancient-israel/

  32. porna sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    https://journees-ecologistes.fr/2021/05/31/untitled/

  33. child porn sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    http://mountainviewhostel.com/2015/06/12/benefits-of-travelling-as-a-family/

  34. child porn sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    http://xaynhahanoi.com.vn/dich-vu-xay-dung-nha-tron-goi/

  35. child porn sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    https://evansgrafx.com/img_1371/

  36. jojobet twitter sagt:

    jojobet twitter

    jojobet twitter

  37. child porn sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    https://hultin.cc/2008/12

  38. meritking sagt:
  39. child porn sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    https://inifixme.com/terus-gencar-pasar-redmi-note-6-pro-bawa-4-kamera/

  40. child porn sagt:
  41. spinco sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    http://157.245.224.202/list-top-websites-like-ertehaber.com

  42. cocuk porno sagt:

    Viele Wege führen zu runden Ecken | Ajaxschmiede.de

    https://accueil-rive.fr/sortie-patinoire/

Hinterlasse einen Kommentar

You must be logged in to post a comment.