Ich versuche, die beste (oder gut) Weg zu finden, eine solche Struktur nur mit CSS zu implementieren:Dependent Blöcke nach rechts und unter dem angegebenen Block
Grundsätzlich die Höhe Der "title" -Block hängt von der Größe des Bildes im "logo" -Block ab und dieser Block sollte genau rechts vom "logo" -Block dargestellt werden. Gleiches gilt für den Block "menu", der sich genau unter dem Block "logo" befinden soll und die gleiche Breite haben soll.
Ich habe versucht, es in "hard" Stil zu implementieren, nur für Sie, um zu sehen, was ich meine: https://jsfiddle.net/DmitryGinzburg/kt7g1esu/
HTML:
<div id="top">
<div id="logo">
<img src="http://placekitten.com/200/100"/>
</div>
<div id="account">
Hello, abacabaUser
</div>
</div>
<div id="bottom">
<div id="menu">
<ul class="nav_bar">
<li>Anchor1</li>
<li>Anchor2</li>
<li>Anchor3</li>
</ul>
</div>
<div id="content">
Duis laoreet hendrerit aliquam. Ut cursus pellentesque ex in vehicula. Integer aliquet velit sed neque ultrices, id condimentum nibh accumsan. Sed maximus molestie nulla, et viverra eros sollicitudin id. Sed in dapibus mi, eget faucibus urna. Ut nulla lacus, cursus in lorem ut, rhoncus tempus velit. Vivamus lobortis egestas finibus. Proin eget mauris ut nisi euismod aliquam quis nec odio. Nulla ac turpis ac urna euismod porttitor. Proin lacus lectus, bibendum in mauris ac, sollicitudin laoreet mi. Quisque posuere lobortis imperdiet. Etiam id quam eu mauris congue faucibus sit amet non libero. Sed et massa in lacus posuere imperdiet vitae in lacus. Nulla mauris nisl, venenatis eu gravida sit amet, ultricies eu tellus.
</div>
</div>
CSS:
div {position: absolute;}
.nav_bar {
list-style-type: none;
margin: 0;
padding: 0;
}
#account {left: 500px;}
#menu {top: 100px;}
#content {
top: 100px;
left: 200px;
width: 400px;
}
Die Das Problem, dem ich gegenüberstehe, ist, dass die Blöcke nur dann voneinander abhängen können, wenn sie das gleiche Elternteil haben, und in diesem Fall ist es kaum implementierbar, weil ich auf diese Weise nur einen Parameter (heig ht/Breite).
Was ist der vermeintliche Weg, es zu tun?
P.S: Ich weiß, ich kann es mit "Tisch" Stil, aber das ist, was jeder versucht zu vermeiden in jedem Artikel, den ich über dieses Thema gelesen habe.
Es ist viel einfacher, mit einigen JS zu erreichen, irgendwelche Gründe, die Sie versuchen, das zu vermeiden? Es ist leicht zu vergessen, dass Dom-Manipulation die primäre Verwendung von JS in Browsern ist. :] – SinSync
@SynSync sollte ich diese Position nach jeder Größenänderung "reparieren"? Der entscheidende Punkt hier ist, dass es etwas sehr allgemeines sein sollte, das jeder benutzt, also ohne Skripte erreichbar sein sollte. –
Möchten Sie flexbox verwenden? –