Mam problemy z centralnym wyrównywaniem całego kontenera menu oznaczonego żółtym kolorem na zrzucie ekranu.
"margin: auto"
po prostu nie działa z jakiegoś powodu, którego jeszcze nie rozumiem. Kontener menu nadal pływa po lewej stronie.
Będę wdzięczny za twoją pomoc.
Zobacz pełne znaczniki i CSS poniżej:
body {
margin: 0px;
}
.header-container {
width: 100%;
background-image: linear-gradient(to bottom, #008686, #024848);
}
.brand-logo {
height: 60px;
margin-left: 2%;
margin-right: 3%;
padding-top: 15px;
padding-bottom: 15px;
}
.menu-container {
width: fit-content;
border: 3px solid yellow;
margin: auto;
}
.brand-logo,
.menu-container {
display: inline-block;
vertical-align: middle;
}
.menu-item {
padding: 5px 0px;
margin-left: 30px;
}
.menu-item:hover {
border-bottom: 3px solid #f8f143;
border-radius: 2px;
padding-bottom: 10px;
transition: 0.1s;
}
.menu-icon {
height: 40px;
cursor: pointer;
border: 1px solid red;
}
.menu-name-container {
border: 1px solid red;
margin-left: 5px;
text-align: center;
}
.menu-name {
font-family: Wendy One;
font-size: 17px;
color: #f8f143;
text-decoration: none;
}
.menu-icon,
.menu-name-container {
display: inline-block;
vertical-align: middle;
}
.brand-logo,
.menu-item {
display: inline-block;
vertical-align: middle;
}
<header class="header-container">
<a href=""><img src="buff.png" class="brand-logo"></img></a>
<div class="menu-container">
<div class="menu-item">
<img src="android.png" class="menu-icon"></img>
<div class="menu-name-container" style="width: 125px">
<a href="" class="menu-name">Sports Betting Guides</a>
</div>
</div>
<div class="menu-item">
<img src="android.png" class="menu-icon"></img>
<div class="menu-name-container" style="width: 110px">
<a href="" class="menu-name">Horse Racing Guides</a>
</div>
</div>
<div class="menu-item">
<img src="android.png" class="menu-icon"></img>
<div class="menu-name-container" style="width: 55px">
<a href="" class="menu-name">Casino Guides</a>
</div>
</div>
<div class="menu-item">
<img src="android.png" class="menu-icon"></img>
<div class="menu-name-container" style="width: 60px">
<a href="" class="menu-name">Betting Tools</a>
</div>
</div>
<div class="menu-item">
<img src="android.png" class="menu-icon"></img>
<div class="menu-name-container" style="width: 80px">
<a href="" class="menu-name">Betting Strategies</a>
</div>
</div>
<div class="menu-item">
<img src="android.png" class="menu-icon"></img>
<div class="menu-name-container" style="width: 60px">
<a href="" class="menu-name">Betting Tips</a>
</div>
</div>
<div class="menu-item">
<img src="android.png" class="menu-icon"></img>
<div class="menu-name-container" style="width: 55px">
<a href="" class="menu-name">News Corner</a>
</div>
</div>
</div>
</header>
2 odpowiedzi
Aktualizuj
Aby wyrównać menu do środka całego wiersza, niezależnie od szerokości logo, należy je bezwzględnie ustawić, z .menu-container
jako kontenerem względnym.
.header-container {
…
position: relative;
}
.menu-container {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, 50%);
}
@Andy, dokonałem jednej edycji w zasugerowanym kodzie i zadziałało, zobacz to poniżej:
.header-container{
width: 100%;
background-image: linear-gradient(to bottom, #008686, #024848);
position: relative;
box-sizing: border-box;
}
.brand-logo{
height: 60px;
margin-left: 20px;
padding-top: 15px;
padding-bottom: 15px;
}
.menu-container{
width: fit-content;
border: 3px solid yellow;
position: absolute;
top: 20%;
left: 50%;
transform: translate(-50%, 0);
}
Bardzo dziękuję za pomoc, dałeś mi pomysł, którego nie znałem :)
Ale teraz, kiedy najeżdżam na element menu, ten, który najeżdżam, pozostaje w tej samej pozycji, a pozostałe spadają o 10 pikseli. Chciałbym, aby element zawieszany podniósł się, a inne pozostały w tej samej pozycji.
Zobacz kod:
.header-container{
width: 100%;
background-image: linear-gradient(to bottom, #008686, #024848);
position: relative;
box-sizing: border-box;
}
.brand-logo{
height: 60px;
margin-left: 20px;
padding-top: 15px;
padding-bottom: 15px;
}
.menu-container{
width: fit-content;
border: 3px solid yellow;
position: absolute;
top: 20%;
left: 50%;
transform: translate(-50%, 0);
}
.brand-logo, .menu-container{
display: inline-block;
vertical-align: middle;
}
.menu-item{
padding: 5px 0px;
margin-left: 30px;
}
.menu-item:hover{
border-bottom: 3px solid #F8F143;
border-radius: 2px;
padding-bottom: 10px;
transition: 0.1s;
}
Podobne pytania
Nowe pytania
html
HTML (HyperText Markup Language) to język znaczników służący do tworzenia stron internetowych i innych informacji wyświetlanych w przeglądarce internetowej. Pytania dotyczące HTML powinny zawierać minimalny możliwy do odtworzenia przykład i pewne wyobrażenie o tym, co próbujesz osiągnąć. Ten tag jest rzadko używany samodzielnie i często jest łączony z [CSS] i [javascript].