Nun, ich habe eine Div-Box mit einem 2px grauen Rand mit 20px Randradius. Ich bin gewandert, wenn ich dann einen 10px Umriss um diesen Rand haben kann, der dem Rand folgt, anstatt quadratisch zu sein
Marc Guerin
4
Das ist eine gute Frage. Bei einem Element mit border: 5px redund outline: 5px blueund border-radius: 5pxist der Rand abgerundet, der Umriss jedoch quadratisch.
Matthew Rudy
4
Bisher können wir es nur in Firefox verwenden:-moz-outline-radius
Wojciech Bednarski
Es sollte Teil von CSS3 sein ... Wenn ich darüber nachdenke - ich hasse W3C: D
m93a
17
Sie alle brauchen eine box-shadowin Ihrem Leben ..
Muhammad Umer
Antworten:
538
Alte Frage jetzt, aber dies könnte für jemanden mit einem ähnlichen Problem relevant sein. Ich hatte ein Eingabefeld mit abgerundeten borderund wollte die Farbe der Fokuskontur ändern. Ich konnte das schreckliche Quadrat outlinezur Eingabesteuerung nicht zähmen .
Also habe ich stattdessen Box-Shadow verwendet. Eigentlich habe ich das glatte Aussehen des Schattens bevorzugt, aber der Schatten kann gehärtet werden, um einen abgerundeten Umriss zu simulieren:
/* Smooth outline with box-shadow: */.text1:focus {box-shadow:003pt2pt red;}/* Hard "outline" with box-shadow: */.text2:focus {box-shadow:0002pt red;}
IMO, das ist die Antwort, die Sie suchen. Ich habe diese Methode durchgeführt, aber übersehen Sie nicht, Ihren Umriss auf 0 zu setzen.
John Morton
2
Dies ist genau das, wonach ich gesucht habe und passt noch besser als ein Umrissradius.
Zenexer
2
Das Beispiel für eine harte Gliederung funktioniert nicht. Es ist nur ein Rechteck ohne Eckenradius.
Erik Aigner
1
outline: 0unterbricht die Barrierefreiheit im Internet; Lesen Sie Outlininenone.com
Ianstarz
4
@ianstarz, es bricht die Zugänglichkeit, wenn Sie kein alternatives Styling bereitstellen. box-shadowist das alternative Styling (das, wie hier vorgestellt, tatsächlich sehr ähnlich aussieht wie outline).
ACJ
84
Normalerweise erreiche ich dies mit dem: after pseudo-element:
Natürlich hängt es von der Verwendung ab. Diese Methode ermöglicht die Kontrolle über einzelne Ränder, anstatt die Hard-Shadow-Methode zu verwenden.
Sie können auch -1px-Offsets festlegen und einen linearen Hintergrundverlauf (kein Rand) für einen anderen Effekt verwenden.
body {margin:20px;}
a {background:#999;padding:10px20px;border-radius:5px;text-decoration: none;color:#fff;position: relative;border:2px solid #000;}a:after {content:'';display: block;position: absolute;top:0;bottom:0;left:0;right:0;border-radius:5px;border:2px solid #ccc;}
Es ist nicht möglich, ein :: after-Pseudo für ein Eingabefeld
Simon Franzen
danke, dies funktionierte SEHR gut mit den Suchanfragen der reaktionssortierbaren Bäume!
Monarch Wadia
Ich mag diese Lösung, weil sie viel flexibler ist als die box-shadowVersion. Wenn Sie beispielsweise möchten, dass der "Umriss" vom Element entfernt ist (dh simuliert outline-offset), wird dies mit dieser Technik möglich.
Kirk Woll
34
Ähnlich wie Lea Hayes oben, aber so habe ich es gemacht:
div {background:#999;height:100px;width:200px;border:#999 solid 1px;border-radius:10px;margin:15px;box-shadow:0px0px0px1px#fff inset;}
Keine Verschachtelung von DIVs oder jQuery erforderlich. Der Kürze halber habe ich jedoch die Varianten -moz und -webkit einiger CSS weggelassen. Sie können das Ergebnis oben sehen
Er spricht über die Gliederung, nicht über die Grenze ... "Umriss" Radius
android.nick
5
Richtig, aber da der Umrissradius nicht verfügbar ist, sieht meine Methode sowohl wie ein Rand als auch wie ein Umriss aus. Dies ist ein visueller Effekt. Wenn Marc's Design nicht pixelgenau spezifiziert ist, macht die Tatsache, dass die Gliederungseigenschaft nicht tatsächlich verwendet wird, keinen Unterschied. Und da es eine praktische Lösung ist, würde ich mich über die Abstimmung
freuen
2
Das hat super geklappt. Ich habe es aber nicht benutzt insetund bekommen, was ich wollte.
Paul Schreiber
18
Ich wollte eine gute Fokuszugänglichkeit für Dropdown-Menüs in einer Bootstrap-Navigationsleiste und war ziemlich zufrieden damit:
div {-webkit-border-radius:10px;-moz-border-radius:10px;
border-radius:10px;
border:1px solid black;
background-color:#CCC;
height:100px;
width:160px;}
Bearbeiten
Es gibt nur einen Firefox -moz-outline-radius, aber das funktioniert nicht unter IE / Chrome / Safari / Opera / etc. Es sieht also so aus, als ob die browserübergreifendste Methode * , um eine gekrümmte Linie um einen Rand zu erhalten, die Verwendung eines Wrapper-Divs ist:
Nun, ich habe eine Div-Box mit einem 2px grauen Rand mit 20px Randradius. Ich bin gewandert, wenn ich dann einen 10px Umriss um diesen Rand haben kann, der dem Rand folgt, anstatt quadratisch zu sein.
Marc Guerin
1
Nur eine Ergänzung zu Ihrem Code matt, wenn Sie den Randradius ein paar Pixel auf der inneren Box fallen lassen, wird die Ecke viel enger, danke für Ihre Hilfe
Marc Guerin
7
Ich habe gerade eine großartige Lösung dafür gefunden, und nachdem ich mir alle Antworten bisher angesehen habe, habe ich sie noch nicht veröffentlicht. Also, hier ist was ich getan habe:
Ich habe eine CSS-Regel für die Klasse erstellt und für diese Regel eine Pseudoklasse von: focus verwendet. Ich outline: nonehabe mich dafür entschieden, diese standardmäßige hellblaue, nicht randradiusfähige "Kontur" zu entfernen, die Chrome standardmäßig verwendet. Dann habe :focusich in derselben Pseudoklasse, in der dieser Umriss nicht mehr existiert, meine Radius- und Rahmeneigenschaften hinzugefügt. Dies führt zu Folgendem
um einen kastanienbraunen Umriss mit einem Randradius zu erhalten, der jetzt angezeigt wird, wenn das Element vom Benutzer auf der Registerkarte ausgewählt wird.
Die Verwendung von "Gliederung: 0" oder "Gliederung: Keine" wird als schlechte Praxis angesehen und beeinträchtigt die Benutzerzugänglichkeit. Zu diesem Zeitpunkt habe ich noch keine Lösung, aber hier ist ein Artikel darüber, warum Sie die Gliederung nach Möglichkeit nicht entfernen sollten und was zu tun ist, wenn Sie dies unbedingt müssen. Entfernen Sie niemals CSS-Konturen
Ich habe keine Lösung gefunden, um diese Arbeit in anderen Browsern zu haben.
BEARBEITEN: Die einzige andere Möglichkeit, dies zu tun, ist die Verwendung von Box-Shadow. Dies funktioniert jedoch nicht, wenn Sie bereits einen Box-Shadow für dieses Element haben.
Sie können mehrere Schatten für dasselbe Element verwenden und diese durch Kommas trennen.
Bangash
2
Es gibt die Lösung, wenn Sie nur Umrisse ohne Rand benötigen. Es ist nicht meins. Ich habe wenn aus Bootstrap CSS-Datei. Wenn Sie angeben outline: 1px auto certain_color, erhalten Sie eine dünne äußere Linie um div einer bestimmten Farbe. In diesem Fall spielt die angegebene Breite keine Rolle, selbst wenn Sie eine Breite von 10 Pixel angeben, handelt es sich ohnehin um eine dünne Linie. Das Schlüsselwort in der genannten Regel ist "auto".
Wenn Sie einen Umriss mit abgerundeten Ecken und einer bestimmten Breite benötigen, können Sie am Rand eine CSS-Regel mit der erforderlichen Breite und Farbe hinzufügen. Es macht den Umriss dicker.
Die Ränder befinden sich an der Außenseite des Elements und an der Innenseite des Randbereichs des Boxmodells. Umrisse befinden sich auf der Innenseite des Elements und werden im Polsterbereich des Boxmodells ignoriert. Es ist nicht für die Ästhetik gedacht. Es soll dem Designer nur die Umrisse der Elemente zeigen. In den frühen Phasen der Entwicklung eines HTML-Dokuments muss ein Entwickler möglicherweise schnell erkennen, ob er alle Skelett-Divs an der richtigen Stelle platziert hat. Später müssen sie möglicherweise überprüfen, ob verschiedene Schaltflächen und Formulare die richtige Anzahl von Pixeln voneinander entfernt sind.
Grenzen sind ästhetischer Natur. Im Gegensatz zu Umrissen sind sie tatsächlich vom Box-Modell getrennt, was bedeutet, dass sie den am Rand festgelegten Text nicht überlappen: 0; und jede Seite der Grenze kann einzeln gestaltet werden.
Wenn Sie versuchen, einen Eckenradius auf Umrisse anzuwenden, verwenden Sie ihn vermutlich so, wie die meisten Leute Rahmen verwenden. Wenn es Ihnen also nichts ausmacht, wenn ich Sie frage, welche Eigenschaft der Kontur macht es über die Grenze wünschenswert?
Der Zweck von Konturen ist für die Navigation / Zugänglichkeit der Tastatur, nicht um Entwicklern zu zeigen, wo sich Elemente befinden
danwellman
Nun, dafür verwenden Browser sie standardmäßig. Aber ich habe sie immer benutzt, um zu sehen, wo meine Divs sind, mit großer Wirkung.
Musixauce3000
+1 für die Erwähnung, dass "Rahmen an der Außenseite des Elements und an der Innenseite des Randbereichs des Boxmodells sitzen. Umrisse befinden sich an der Innenseite des Elements und der Auffüllbereich des Boxmodells ignoriert dies."
Jacques
1
KOMBINIERENDER BOX-SCHATTEN UND ÜBERBLICK.
Eine leichte Wendung bei Lea Hayes Antwort fand ich
Die einfache Antwort auf die Grundfrage lautet nein. Die einzige browserübergreifende Option besteht darin, einen Hack zu erstellen, der das erreicht, was Sie wollen. Dieser Ansatz bringt bestimmte potenzielle Probleme mit sich, wenn es darum geht, bereits vorhandene Inhalte zu gestalten , bietet jedoch eine bessere Anpassung der Kontur (Versatz, Breite, Linienstil) als viele der anderen Lösungen.
Betrachten Sie auf einer grundlegenden Ebene das folgende statische Beispiel (führen Sie den Snippent für die Demo aus):
.outline {border:2px dotted transparent;border-radius:5px;display: inline-block;padding:2px;margin:-4px;}/* :focus-within does not work in Edge or IE */.outline:focus-within,.outline.edge {border-color: blue;}
br {margin-bottom:0.75rem;}
<h3>Javascript-Free Demo</h3><divclass="outline edge"><inputtype="text"placeholder="I always have an outline"/></div><br><divclass="outline"><inputtype="text"placeholder="I have an outline when focused"/></div> *<i>Doesn't work in Edge or IE</i><br><inputtype="text"placeholder="I have never have an outline"/><p>Note that the outline does not increase the spacing between the outlined input and other elements around it. The margin (-4px) compensates for the space that the outlines padding (-2px) and width (2px) take up, a total of 4px.</p>
Auf einer fortgeschritteneren Ebene wäre es jetzt möglich, JavaScript zu verwenden, um Elemente eines bestimmten Typs oder einer bestimmten Klasse so zu booten, dass sie in ein div eingeschlossen werden, das beim Laden einer Seite einen Umriss simuliert. Darüber hinaus können Ereignisbindungen eingerichtet werden, um die Gliederung solcher Benutzerinteraktionen anzuzeigen oder auszublenden (führen Sie das folgende Snippet aus oder öffnen Sie es solcher anzuzeigen JSFiddle ):
<h3>Javascript-Enabled Demo</h3><divclass="flex"><divclass="box outline-me">I'm outlined because I contain<br>the "outline-me" class</div><divclass="box clickable">Click me to toggle outline</div></div><hr><inputtype="text"placeholder="I'm outlined when focused"/><script>// Called on an element to wrap with an outline and passed a styleObject// the styleObject can contain the following outline properties:// style, width, color, offset, radius, bottomLeftRadius,// bottomRightRadius, topLeftRadius, topRightRadius// It then creates a new div with the properties specified and // moves the calling element into the div// The newly created wrapper div receives the class "simulated-outline"Element.prototype.addOutline =function(styleObject, hideOutline =true){var element =this;// create a div for simulating an outlinevar outline = document.createElement('div');// initialize css formattingvar css ='display:inline-block;';// transfer any element margin to the outline divvar margins =['marginTop','marginBottom','marginLeft','marginRight'];var marginPropertyNames ={
marginTop:'margin-top',
marginBottom:'margin-bottom',
marginLeft:'margin-left',
marginRight:'margin-right'}var outlineWidth =Number.parseInt(styleObject.width);var outlineOffset =Number.parseInt(styleObject.offset);for(var i =0; i < margins.length;++i){var computedMargin =Number.parseInt(getComputedStyle(element)[margins[i]]);var margin = computedMargin - outlineWidth - outlineOffset;
css += marginPropertyNames[margins[i]]+":"+ margin +"px;";}
element.style.cssText +='margin:0px !important;';// compute css border style for the outline divvar keys =Object.keys(styleObject);for(var i =0; i < keys.length;++i){var key = keys[i];var value = styleObject[key];switch(key){case'style':var property ='border-style';break;case'width':var property ='border-width';break;case'color':var property ='border-color';break;case'offset':var property ='padding';break;case'radius':var property ='border-radius';break;case'bottomLeftRadius':var property ='border-bottom-left-radius';break;case'bottomRightRadius':var property ='border-bottom-right-radius';break;case'topLeftRadius':var property ='border-top-left-radius-style';break;case'topRightRadius':var property ='border-top-right-radius';break;}
css += property +":"+ value +';';}// apply the computed css to the outline div
outline.style.cssText = css;// add a class in case we want to do something with elements// receiving a simulated outline
outline.classList.add('simulated-outline');// place the element inside the outline divvar parent = element.parentElement;
parent.insertBefore(outline, element);
outline.appendChild(element);// determine whether outline should be hidden by default or notif(hideOutline) element.hideOutline();}Element.prototype.showOutline =function(){var element =this;// get a reference to the outline element that wraps this elementvar outline = element.getOutline();// show the outline if one existsif(outline) outline.classList.remove('hide-outline');}Element.prototype.hideOutline =function(){var element =this;// get a reference to the outline element that wraps this elementvar outline = element.getOutline();// hide the outline if one existsif(outline) outline.classList.add('hide-outline');}// Determines if this element has an outline. If it does, it returns the outline// element. If it doesn't have one, return null.Element.prototype.getOutline =function(){var element =this;var parent = element.parentElement;return(parent.classList.contains('simulated-outline'))? parent :null;}// Determines the visiblity status of the outline, returning true if the outline is// visible and false if it is not. If the element has no outline, null is returned.Element.prototype.outlineStatus =function(){var element =this;var outline = element.getOutline();if(outline ===null){returnnull;}else{return!outline.classList.contains('hide-outline');}}// this embeds a style element in the document head for handling outline visibilityvar embeddedStyle = document.querySelector('#outline-styles');if(!embeddedStyle){var style = document.createElement('style');
style.innerText =`.simulated-outline.hide-outline {
border-color: transparent !important;}`;
document.head.append(style);}/*########################## example usage ##########################*/// add outline to all elements with "outline-me" classvar outlineMeStyle ={
style:'dashed',
width:'3px',
color:'blue',
offset:'2px',
radius:'5px'};
document.querySelectorAll('.outline-me').forEach((element)=>{
element.addOutline(outlineMeStyle,false);});// make clickable divs get outlinesvar outlineStyle ={
style:'double',
width:'4px',
offset:'3px',
color:'red',
radius:'10px'};
document.querySelectorAll('.clickable').forEach((element)=>{
element.addOutline(outlineStyle);
element.addEventListener('click',(evt)=>{var element = evt.target;(element.outlineStatus())? element.hideOutline(): element.showOutline();});});// configure inputs to only have outline on focus
document.querySelectorAll('input').forEach((input)=>{var outlineStyle ={
width:'2px',
offset:'2px',
color:'black',
style:'dotted',
radius:'10px'}
input.addOutline(outlineStyle);
input.addEventListener('focus',(evt)=>{var input = evt.target;
input.showOutline();});
input.addEventListener('blur',(evt)=>{var input = evt.target;
input.hideOutline();});});</script>
Lassen Sie mich abschließend noch einmal betonen, dass für die Implementierung dieses Ansatzes möglicherweise mehr Stil erforderlich ist als in meinen Demos enthalten, insbesondere wenn Sie das gewünschte Element bereits gestylt haben.
border: 5px red
undoutline: 5px blue
undborder-radius: 5px
ist der Rand abgerundet, der Umriss jedoch quadratisch.-moz-outline-radius
box-shadow
in Ihrem Leben ..Antworten:
Alte Frage jetzt, aber dies könnte für jemanden mit einem ähnlichen Problem relevant sein. Ich hatte ein Eingabefeld mit abgerundeten
border
und wollte die Farbe der Fokuskontur ändern. Ich konnte das schreckliche Quadratoutline
zur Eingabesteuerung nicht zähmen .Also habe ich stattdessen Box-Shadow verwendet. Eigentlich habe ich das glatte Aussehen des Schattens bevorzugt, aber der Schatten kann gehärtet werden, um einen abgerundeten Umriss zu simulieren:
quelle
outline: 0
unterbricht die Barrierefreiheit im Internet; Lesen Sie Outlininenone.combox-shadow
ist das alternative Styling (das, wie hier vorgestellt, tatsächlich sehr ähnlich aussieht wieoutline
).Normalerweise erreiche ich dies mit dem: after pseudo-element:
Natürlich hängt es von der Verwendung ab. Diese Methode ermöglicht die Kontrolle über einzelne Ränder, anstatt die Hard-Shadow-Methode zu verwenden.
Sie können auch -1px-Offsets festlegen und einen linearen Hintergrundverlauf (kein Rand) für einen anderen Effekt verwenden.
quelle
box-shadow
Version. Wenn Sie beispielsweise möchten, dass der "Umriss" vom Element entfernt ist (dh simuliertoutline-offset
), wird dies mit dieser Technik möglich.Ähnlich wie Lea Hayes oben, aber so habe ich es gemacht:
Keine Verschachtelung von DIVs oder jQuery erforderlich. Der Kürze halber habe ich jedoch die Varianten -moz und -webkit einiger CSS weggelassen. Sie können das Ergebnis oben sehen
quelle
inset
und bekommen, was ich wollte.Ich wollte eine gute Fokuszugänglichkeit für Dropdown-Menüs in einer Bootstrap-Navigationsleiste und war ziemlich zufrieden damit:
quelle
Du suchst so etwas , denke ich.
Bearbeiten
Es gibt nur einen Firefox
-moz-outline-radius
, aber das funktioniert nicht unter IE / Chrome / Safari / Opera / etc. Es sieht also so aus, als ob die browserübergreifendste Methode * , um eine gekrümmte Linie um einen Rand zu erhalten, die Verwendung eines Wrapper-Divs ist:* Abgesehen von der Verwendung von Bildern
quelle
Ich habe gerade eine großartige Lösung dafür gefunden, und nachdem ich mir alle Antworten bisher angesehen habe, habe ich sie noch nicht veröffentlicht. Also, hier ist was ich getan habe:
Ich habe eine CSS-Regel für die Klasse erstellt und für diese Regel eine Pseudoklasse von: focus verwendet. Ich
outline: none
habe mich dafür entschieden, diese standardmäßige hellblaue, nicht randradiusfähige "Kontur" zu entfernen, die Chrome standardmäßig verwendet. Dann habe:focus
ich in derselben Pseudoklasse, in der dieser Umriss nicht mehr existiert, meine Radius- und Rahmeneigenschaften hinzugefügt. Dies führt zu Folgendemum einen kastanienbraunen Umriss mit einem Randradius zu erhalten, der jetzt angezeigt wird, wenn das Element vom Benutzer auf der Registerkarte ausgewählt wird.
quelle
Wir können unsere Wünsche bald sehen, indem wir es
outline-style: auto
auf WebKits Radar einstellen: http://trac.webkit.org/changeset/198062/webkitWir sehen uns im Jahr 2030.
quelle
Wenn Sie einen geprägten Look erhalten möchten, können Sie Folgendes tun:
Ich habe keine Lösung gefunden, um diese Arbeit in anderen Browsern zu haben.
BEARBEITEN: Die einzige andere Möglichkeit, dies zu tun, ist die Verwendung von Box-Shadow. Dies funktioniert jedoch nicht, wenn Sie bereits einen Box-Shadow für dieses Element haben.
quelle
Es gibt die Lösung, wenn Sie nur Umrisse ohne Rand benötigen. Es ist nicht meins. Ich habe wenn aus Bootstrap CSS-Datei. Wenn Sie angeben
outline: 1px auto certain_color
, erhalten Sie eine dünne äußere Linie um div einer bestimmten Farbe. In diesem Fall spielt die angegebene Breite keine Rolle, selbst wenn Sie eine Breite von 10 Pixel angeben, handelt es sich ohnehin um eine dünne Linie. Das Schlüsselwort in der genannten Regel ist "auto".Wenn Sie einen Umriss mit abgerundeten Ecken und einer bestimmten Breite benötigen, können Sie am Rand eine CSS-Regel mit der erforderlichen Breite und Farbe hinzufügen. Es macht den Umriss dicker.
quelle
Soweit ich weiß, wird das
Outline radius
nur von Firefox und Firefox für Android unterstützt.quelle
Die Ränder befinden sich an der Außenseite des Elements und an der Innenseite des Randbereichs des Boxmodells. Umrisse befinden sich auf der Innenseite des Elements und werden im Polsterbereich des Boxmodells ignoriert. Es ist nicht für die Ästhetik gedacht. Es soll dem Designer nur die Umrisse der Elemente zeigen. In den frühen Phasen der Entwicklung eines HTML-Dokuments muss ein Entwickler möglicherweise schnell erkennen, ob er alle Skelett-Divs an der richtigen Stelle platziert hat. Später müssen sie möglicherweise überprüfen, ob verschiedene Schaltflächen und Formulare die richtige Anzahl von Pixeln voneinander entfernt sind.
Grenzen sind ästhetischer Natur. Im Gegensatz zu Umrissen sind sie tatsächlich vom Box-Modell getrennt, was bedeutet, dass sie den am Rand festgelegten Text nicht überlappen: 0; und jede Seite der Grenze kann einzeln gestaltet werden.
Wenn Sie versuchen, einen Eckenradius auf Umrisse anzuwenden, verwenden Sie ihn vermutlich so, wie die meisten Leute Rahmen verwenden. Wenn es Ihnen also nichts ausmacht, wenn ich Sie frage, welche Eigenschaft der Kontur macht es über die Grenze wünschenswert?
quelle
KOMBINIERENDER BOX-SCHATTEN UND ÜBERBLICK.
Eine leichte Wendung bei Lea Hayes Antwort fand ich
bekommt ein wirklich schönes sauberes Finish. Kein Größensprung, den Sie bei Verwendung des Randradius erhalten
quelle
Wie andere gesagt haben, unterstützt dies nur Firefox. Hier ist eine Problemumgehung, die dasselbe tut und sogar mit gestrichelten Umrissen arbeitet.
quelle
Verwenden Sie Polster und eine Hintergrundfarbe für den Rand und dann einen Rand für den Umriss:
Hat in meinem Fall funktioniert.
quelle
Ich habe nur den Umriss transparent gemacht.
quelle
Ich mag diesen Weg.
Es wird ein grauer Kreis mit einem Witzrand und wieder 1 Pixel um den Rand erstellt!
quelle
Dadurch wird nur ein Kreis anklickbar, während der Rahmenradius immer noch ein Quadrat bildet, aber als Kreis aussieht.
quelle
Die einfache Antwort auf die Grundfrage lautet nein. Die einzige browserübergreifende Option besteht darin, einen Hack zu erstellen, der das erreicht, was Sie wollen. Dieser Ansatz bringt bestimmte potenzielle Probleme mit sich, wenn es darum geht, bereits vorhandene Inhalte zu gestalten , bietet jedoch eine bessere Anpassung der Kontur (Versatz, Breite, Linienstil) als viele der anderen Lösungen.
Betrachten Sie auf einer grundlegenden Ebene das folgende statische Beispiel (führen Sie den Snippent für die Demo aus):
Auf einer fortgeschritteneren Ebene wäre es jetzt möglich, JavaScript zu verwenden, um Elemente eines bestimmten Typs oder einer bestimmten Klasse so zu booten, dass sie in ein div eingeschlossen werden, das beim Laden einer Seite einen Umriss simuliert. Darüber hinaus können Ereignisbindungen eingerichtet werden, um die Gliederung solcher Benutzerinteraktionen anzuzeigen oder auszublenden (führen Sie das folgende Snippet aus oder öffnen Sie es solcher anzuzeigen JSFiddle ):
Lassen Sie mich abschließend noch einmal betonen, dass für die Implementierung dieses Ansatzes möglicherweise mehr Stil erforderlich ist als in meinen Demos enthalten, insbesondere wenn Sie das gewünschte Element bereits gestylt haben.
quelle