Permalänk
Medlem

Ändra Menyelement i höjdled

Har en bild som ska vara i linje med element i en meny men de hamnar inte i linje där menyelementen hamnar några cm för långt ner. Trodde jag kunde lägga till css på li elementet och en margin topp eller bottom men den flyttas inte alls upp eller ner.
Hur kan jag göra för att få upp menyelementet "Exempel"?

ul>
<li><a href="index.php"><img src="logo2.jpg" alt="Start"></a</li>
<li style="margin-bottom: 10px; height:50px;"><span style="padding:45px;">Exempel</span></li>
</ul>

<style>
ul li
{
display: inline-block;
}
</style>

Permalänk
Avstängd

Behöver du verkligen en lista där? Om den bara är till för att få till en layout så bör du använda något annat som är enklare att styra i mina ögon.

Permalänk
Medlem

display: inline-block; är ett förlegat sätt att göra layout med, tycker jag. Mycket enklare med Flexbox.

Permalänk
Medlem

Gjorde om koden och då blev det lite bättre men fortfarande 2 mm felförskjutning av de båda menyelementen Services & About, försökte få upp dem 2mm men den vill ej
Förstår inte riktigt varför margin bottom inte vill fungera men kanske inte funkar på listor.

<style>

ul#menu {
background-color: #f8f8f8;
display: table-row;
}

ul#menu li {
display: table-cell;
/* height: 30px; */
width: 100px;
padding-left: 5px;
vertical-align: bottom;
/* border-right: 1px solid #ccc; */
}

ul#menu li.elements
{
height: 10px;
/* margin-bottom: 45px; */
}

ul#menu li:last-child {
border-right: 0px;
}
</style>

<ul id="menu">
<li style="height:40px;"><a href="../index.php"><img src="./bilder/logo2.jpg" alt="Start"></a></li>
<li class="elements">Services</li>
<li class="elements">About</li>
</ul>

Permalänk
Medlem

margin gör ingenting i tabeller, såvitt jag vet. Du har bytt till tabell-layout med display: table-cell;. Möjligtvis kan du åstadkomma det du vill med padding istället. Tabell-layout för saker som inte är tabeller är också förlegat – jag skulle som sagt rekommendera flexbox.

Permalänk
Medlem
Skrivet av md7dani:

Gjorde om koden och då blev det lite bättre men fortfarande 2 mm felförskjutning av de båda menyelementen Services & About, försökte få upp dem 2mm men den vill ej
Förstår inte riktigt varför margin bottom inte vill fungera men kanske inte funkar på listor.

<style>

ul#menu {
background-color: #f8f8f8;
display: table-row;
}

ul#menu li {
display: table-cell;
/* height: 30px; */
width: 100px;
padding-left: 5px;
vertical-align: bottom;
/* border-right: 1px solid #ccc; */
}

ul#menu li.elements
{
height: 10px;
/* margin-bottom: 45px; */
}

ul#menu li:last-child {
border-right: 0px;
}
</style>

<ul id="menu">
<li style="height:40px;"><a href="../index.php"><img src="./bilder/logo2.jpg" alt="Start"></a></li>
<li class="elements">Services</li>
<li class="elements">About</li>
</ul>

Du bör använda dig av Flexbox som så många redan har rekommenderat. Där får du hjälp med t.ex. align-items: center; som centrerar element i y-axeln. Sedan hade jag flyttat ut bilden ur listan, då bilden inte riktigt är en del av menyn.

Lägger till en fiddle med ett exempel med Flexbox, jag är dock långt ifrån någon CSS-guru så du får ta det med en nypa salt https://jsfiddle.net/vkpgmy4c/1/