Ich arbeite an einer Navigationsleiste oben auf einer Seite. Ich benutze flexbox
für die Positionierung der Elemente der Navbar; Auf der linken Seite habe ich ein animiertes Hamburger-Menü-Icon sowie den Seitentitel, auf der rechten Seite habe ich mehrere Links. Das Icon und der Seitentitel sind in einem <div>
enthalten, die Links sind in einem anderen <div>
enthalten. Mit flexbox
, flex-direction: row
und justify-content: space-between
positioniere ich jeweils auf gegenüberliegenden Seiten der Seite.Navbar-Layout mit flexbox: So positionieren Sie Link oder Absatz inline/neben dem Menüsymbol
In der linken Seite möchte ich den Seitentitel neben dem Menü-Icon haben. Irgendwie kann ich das nicht verstehen, in meinem Code sitzt der Seitentitel immer unter dem Icon. Sehen Sie diese Geige mit der aktuellen Version von meinem Code (aus irgendeinem Grunde die Animation des Symbols nicht in der Geige arbeiten, die aber für den Nachweis meiner Frage nicht wichtig ist):
function changeicon(x) {
x.classList.toggle("change");
}
.flex {
display: flex;
}
.flex-menu {
flex-direction: row;
justify-content: space-between;
}
.nav {
left: 0;
padding: 5px;
box-sizing: border-box;
width: 100%;
position: fixed;
top: 0.4em;
}
/* ----- Nav/Menu Icon --------------------------------------------- */
.icon-container {
display: inline;
cursor: pointer;
}
.bar1,
.bar2,
.bar3 {
width: 35px;
height: 3px;
background-color: black;
margin: 6px 0;
transition: all 400ms ease;
}
/*--- Rotation of the first bar */
.change .bar1 {
transform: rotate(-45deg) translate(-6px, 6px);
}
/* Fade out the second bar */
.change .bar2 {
opacity: 0;
}
/* Rotate last bar */
.change .bar3 {
transform: rotate(45deg) translate(-6px, -8px);
}
<div class="nav flex flex-menu">
<div class="icon-container" onclick="changeicon(this)">
<div class="bar1"></div>
<div class="bar2"></div>
<div class="bar3"></div>
<a href="">Page Title</a>
</div>
<div>
<a href="" target="blank">Link1</a>
<a href="" target="blank">Link2</a>
<a href="" target="blank">Link3</a>
</div>
</div>
Wie muss ich die Elemente in der <div>
auf der linken Seite so einrichten, dass sie nebeneinander erscheinen?
Seite-Titel wurde von '.bar'-s, die' Display haben nach unten gedrückt: block' Jetzt Es befindet sich in einem Flex-Container, also ist es entlang der Haupt-Flex-Achse positioniert (in diesem Fall horizontal) – fen1x