2017-07-21 5 views
0

Ich habe 2 Fragen:Warum Höhe: Auto funktioniert nicht korrekt?

  1. warum Element #post nicht genug strecken das Bild zu decken? obwohl ich height:auto gesetzt habe.

  2. Warum löst dieses Problem mit overflow:hidden? wie ich weiß, overflow:hidden wird verwendet, wenn ein Element aus seinem übergeordneten Element und ausblenden Teil aus. in meinem Beispiel versteckt es es nicht. Es dehnt Elternelement aus, um Bild abzudecken. Warum?

entschuldigen Sie mich für schlechtes Englisch. wenn es möglich ist mit einfachen englischen Wörtern zu erklären. vielen dank.

HTML:

<div id="posts"> 
<div id="new-posts"> 
    <img src="https://weneedfun.com/wp-content/uploads/2016/01/Daisy-Flower- 
3.jpg"> 
    <p>here is ccontent of post . here is ccontent of post . 
     here is ccontent of post . here is ccontent of post . 
     here is ccontent of post . here is ccontent of post . </p> 
</div> 

css:

#posts { 
border: 1px solid; 
/* overflow: hidden; */ 
height: auto; 
} 

#new-posts img{ 
float: left; 
margin: 10px; 
height:100px; 
width:100px; 
} 

jsfiddle:

mit Überlauf: https://jsfiddle.net/hamed98/ez66sgwt/

ohne Überlauf: https://jsfiddle.net/hamed98/sL25m9mx/

Antwort

0

Gebrauchsposition absolute

#posts { 
border: 1px solid; 
overflow: hidden; 
height: auto; 
position:absolute;} 
+1

Beantwortet dies eine der OP-Fragen? –

+0

Dies liefert keine Antwort auf die Frage. Sobald Sie genug [Reputation] (https://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); Stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (https://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/16783712) – Shiladitya

2
  1. Dies liegt daran, das Bild eine float Eigenschaft hat. Schwebende Elemente können die Grenzen des Blockelements, einschließlich ihres übergeordneten Blocks, überschreiten (warum sind sie so konzipiert, wird gut erklärt in this article). Aus diesem Grund wird die automatische Höhe des Containers nur durch seinen nicht-schwebenden Inhalt bestimmt (Textabsatz).

  2. Durch den Container overflow andere als visible Einstellung, stellen Sie die Behälter der neue block formatting context (als Nebeneffekt dieser Eigenschaft). Im Gegensatz zu normalen Blöcken lassen Blöcke mit dem neuen Blockformatierungskontext Floats ihre Grenzen nicht überschreiten, sodass sie immer ihre verschachtelten Floats enthalten.

+0

sehr gut zu erklären. vielen dank – hamed98