Heim >Web-Frontend >HTML-Tutorial >Vertieftes Verständnis und Anwendung von Anzeigeattributen (1)
Anzeige ist offiziell definiert als: Gibt die Art des Feldes an, das ein Element generieren soll. Dieser Artikel konzentriert sich nur auf die sechs häufig verwendeten Werte: none, block, inline, inline-block, inherit und flex. Andere Tabellen, Listenelemente usw. werden nicht mehr empfohlen.
Dieses Element wird nicht angezeigt. Der Unterschied besteht hauptsächlich darin, dass das Sichtbarkeitsattribut ausgeblendet ist.
1) Wenn das Element keins ist, kann js das Element abrufen, aber den Wert des visuellen Attributs dieses Elements nicht abrufen/festlegen (kann jedoch den Wert des benutzerdefinierten Attributs festlegen), z. B. Breite, Höhe, Hintergrund und andere CSS-Attributwerte, was bedeutet, dass das Element nicht vom Browser gerendert wird, wenn das Element keins ist.
2) Wenn der Sichtbarkeitswert eines Elements ausgeblendet ist, obwohl das Element unsichtbar ist, können Sie jeden Wert des Elements abrufen/festlegen, einschließlich CSS-bezogener Attribute. Dies zeigt auch an, dass das Element zu diesem Zeitpunkt vom Browser gerendert wird (es nimmt eine Position im Dokumentfluss ein), sich jedoch in einem unsichtbaren Zustand befindet.
3) Der Beispielcode lautet wie folgt:
CSS-Code:
<span style="color: #800000;">#div01</span>{<span style="color: #ff0000;"> display</span>:<span style="color: #0000ff;"> none</span>;<span style="color: #ff0000;"> width</span>:<span style="color: #0000ff;"> 200px</span>;<span style="color: #ff0000;"> background</span>:<span style="color: #0000ff;"> red</span>; }<span style="color: #800000;"> #div02</span>{<span style="color: #ff0000;"> visibility</span>:<span style="color: #0000ff;"> hidden</span>;<span style="color: #ff0000;"> width</span>:<span style="color: #0000ff;"> 100px</span>; }<span style="color: #800000;"> #div03</span>{<span style="color: #ff0000;"> width</span>:<span style="color: #0000ff;"> 100px</span>; }
Js/html-Code:
<div id="div01" data-name="div01" > div01</div> <div id="div02" data-name="div02" > div01</div> <div id="div03" > div03</div> <script type="text/javascript"><span style="color: #000000;"> window.onload </span>= <span style="color: #0000ff;">function</span><span style="color: #000000;">(){ </span><span style="color: #0000ff;">var</span> div01 = document.getElementById('div01'<span style="color: #000000;">); </span><span style="color: #0000ff;">var</span> div02 = document.getElementById('div02'<span style="color: #000000;">); </span><span style="color: #0000ff;">var</span> div03 = document.getElementById('div03'<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;">output: div01:0 background: name:div01</span> console.log( 'div01:' + div01.offsetWidth + " background: " + div01.style.background + " name:" + div01.getAttribute("data-name"<span style="color: #000000;">)); </span><span style="color: #008000;">//</span><span style="color: #008000;">output: div02:100 name:div02</span> console.log( 'div02:' + div02.offsetWidth + " name:" + div02.getAttribute("data-name"<span style="color: #000000;">)); </span><span style="color: #008000;">//</span><span style="color: #008000;">output: div03:100</span> console.log( 'div03:' +<span style="color: #000000;"> div03.offsetWidth); div01.style.width </span>= 1000<span style="color: #000000;">; div01.setAttribute(</span>"data-name","div0101"<span style="color: #000000;">); div02.style.width </span>= "800px"<span style="color: #000000;">; div02.setAttribute(</span>"data-name","div0202"<span style="color: #000000;">); div03.style.width </span>= 800<span style="color: #000000;">; </span><span style="color: #008000;">//</span><span style="color: #008000;">output: div01:0 background: name:div0101</span> console.log( 'div01:' + div01.offsetWidth + " background: " + div01.style.background + " name:" + div01.getAttribute("data-name"<span style="color: #000000;">)); </span><span style="color: #008000;">//</span><span style="color: #008000;">output: div02:800 name:div0202</span> console.log( 'div02:' + div02.offsetWidth + " name:" + div02.getAttribute("data-name"<span style="color: #000000;">)); </span><span style="color: #008000;">//</span><span style="color: #008000;">output: div03:800</span> console.log( 'div03:' +<span style="color: #000000;"> div03.offsetWidth); } </span></script>
Legen Sie das Element als Element auf Blockebene fest und wenden Sie auf das Boxmodell bezogene Attribute an. Die Standardbreite beträgt 100 % und die Höhe ist adaptiv. Sowohl Rand als auch Polsterung sind gültig. Wenn keine untergeordneten Elemente vorhanden sind, die die Breite oder Höhe einnehmen, ist die Höhe Null.
Der Code lautet wie folgt:
<span style="color: #0000ff;"><</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span><span style="color: #800000; background-color: #f5f5f5;"> #div01</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"> background</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;"> red</span><span style="color: #000000; background-color: #f5f5f5;">;</span> <span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"> #div02</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"> height</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;"> 100px</span><span style="color: #000000; background-color: #f5f5f5;">;</span><span style="color: #ff0000; background-color: #f5f5f5;"> background</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;"> gray</span><span style="color: #000000; background-color: #f5f5f5;">;</span> <span style="color: #000000; background-color: #f5f5f5;">}</span><span style="color: #800000; background-color: #f5f5f5;"> #div03</span><span style="color: #000000; background-color: #f5f5f5;">{</span><span style="color: #ff0000; background-color: #f5f5f5;"> background</span><span style="color: #000000; background-color: #f5f5f5;">:</span><span style="color: #0000ff; background-color: #f5f5f5;"> green</span><span style="color: #000000; background-color: #f5f5f5;">;</span> <span style="color: #000000; background-color: #f5f5f5;">}</span> <span style="color: #0000ff;"></</span><span style="color: #800000;">style</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></</span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div01"</span> <span style="color: #0000ff;">></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div02"</span> <span style="color: #0000ff;">></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="div03"</span> <span style="color: #0000ff;">></span>div03<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></</span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></</span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span>
Screenshot des Effekts:
Inline-Elemente oder solche, die durch display:inline als Inline-Elemente geändert wurden, verhalten sich wie Inline-Elemente.
1) Mehrere Inline-Elemente werden in einer Reihe angeordnet. Zwischen mehreren Inline-Elementen nebeneinander entsteht eine Lücke von etwa 8 Pixeln
a). HTML-Text ist absichtlich in einer Zeile angeordnet, wie im folgenden Code gezeigt:
<span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>a01<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">><</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>a02<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>
b) Verwenden Sie margin-left:-8px, einen negativen Wert für marginq. Sie können auch Buchstabenabstände und Wortabstände als negative Werte in der äußeren Ebene verwenden (solche Testelemente müssen zurückgesetzt werden). und Eigenschaften festlegen)
<span style="color: #800000;">.inline</span>{<span style="color: #ff0000;"> display</span>:<span style="color: #0000ff;"> inline</span>;<span style="color: #ff0000;"> background</span>:<span style="color: #0000ff;"> red</span>;<span style="color: #ff0000;"> margin</span>:<span style="color: #0000ff;"> 0px</span>;<span style="color: #ff0000;"> padding</span>:<span style="color: #0000ff;"> 10px</span>;<span style="color: #ff0000;"> margin-left</span>:<span style="color: #0000ff;"> -8px</span>; }
2) Die Breite und Höhe des Inline-Elements sind ungültigc). Fügen Sie „font-size:0px“ und „-webkit-text-size-adjust:none“ zum äußeren Element hinzu, das das Inline-Element umschließt, um<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="inline"</span><span style="color: #0000ff;">></span>inline01<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="inline"</span><span style="color: #0000ff;">></span>inline02<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="inline"</span><span style="color: #0000ff;">></span>inline03<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="inline"</span><span style="color: #0000ff;">></span>inline04<span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>zu erreichen
<span style="color: #800000;">a</span>{<span style="color: #ff0000;"> background</span>:<span style="color: #0000ff;"> red</span>;<span style="color: #ff0000;"> font-size</span>:<span style="color: #0000ff;"> 14px</span>; }<span style="color: #800000;"> .overWidth</span>{<span style="color: #ff0000;"> white-space</span>:<span style="color: #0000ff;"> nowrap</span>;<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 1px solid gray</span>;<span style="color: #ff0000;"> font-size</span>:<span style="color: #0000ff;"> 0px</span>;<span style="color: #ff0000;"> -webkit-text-size-adjust</span>:<span style="color: #0000ff;"> none</span>; }<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="overWidth"</span> <span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>a01<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>a000000002<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
3) Die Abstände
von Inline-Elementen sind alle gültig , aber die Ränder sind links und rechts gültig und oben und unten sind ungültig .
4) Inline-Elemente umschließen Inline-Elemente und die Breite und Höhe der äußeren Elemente wird durch die inneren Elemente gedehnt
<span style="color: #800000;">.overWidth</span>{<span style="color: #ff0000;"> display</span>:<span style="color: #0000ff;"> inline</span>;<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 1px solid gray</span>; }
<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="overWidth"</span> <span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>a01<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>a000000002<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>
a) Das Erzwingen von Zeilenumbrüchen kann durch White-Space:Nowrap erreicht werden. Zu diesem Zeitpunkt wird die Überbreite angezeigt und die Anzeige kann durch die Kombination von Overflow:hidden und Text-Overflow:Ellipse weggelassen werden.
<span style="color: #800000;">.overWidth</span>{<span style="color: #ff0000;"> white-space</span>:<span style="color: #0000ff;"> nowrap</span>;<span style="color: #ff0000;"> width</span>:<span style="color: #0000ff;"> 100px</span>;<span style="color: #ff0000;"> border</span>:<span style="color: #0000ff;"> 1px solid gray</span>;<span style="color: #ff0000;"> overflow</span>:<span style="color: #0000ff;"> hidden</span>;<span style="color: #ff0000;"> text-overflow</span>:<span style="color: #0000ff;"> ellipsis</span>; }<span style="color: #0000ff;"><</span><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="overWidth"</span> <span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>a01<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"><</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span>a000000002<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">></span> <span style="color: #0000ff;"></</span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span>