<Ul>'deki <li>'leri ve <a>'ları nasıl ortalayabilirim?

Enespınar

Hectopat
Katılım
18 Haziran 2018
Mesajlar
324
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
<Ul>'deki <li>'leri sayfaya ortalamak istiyorum fakat birçok kod denedim çalışmadı. En son bu gruptaki bir kodu denedim fakat o da <ul>'deki <li>'leri ortaladı ama <li>'deki <a>'lar ortada olmadığından 2. görseldeki gibi bir sonuç çıktı. Yardımlarınızı bekliyorum.

JavaScript:
import React from "react";
import ReactDOM from "react-dom";
import "./index.css";

const App = () => {
return (
<div className = "container">
<div className = "menu">
<div className ="uldiv">
<ul id="menuul">
<li id = "anasayfa"><a href = "/anasayfa">Ana Sayfa</a></li>
<li id = "indir"><a href = "/indir">İndir</a></li>
<li id = "hakkimizda"><a href = "/hakkımızda">Hakkımızda</a></li>
</ul> <div className = "temizle"> </div>
</div>
</div>
</div>
)
};

ReactDOM.render(
<App />,
document.querySelector("#root")
);

CSS:
.uldiv ul {
list-style-type:none;
height: 18px;
overflow: hidden;
width: 50%;
display: table;
table-layout: fixed;
margin: 0px auto;
padding: 20px 0px;
}

.uldiv{
margin: 0 auto;
}

.uldiv ul li{
display: table-cell;
width: auto;
text-align: center;
}

.uldiv ul li a{
float: left;
padding: 0px 10px;
text-decoration: none;
font-weight: bold;
color: #FFE21F;
}

.uldiv ul li a:hover {
color: #2e373f;
}

.menu{
padding: 10px;
background: #141d25;
}

.temizle {
clear: both;
}

body{
background: #141d25;
}
 

Dosya Ekleri

  • ulli.png
    ulli.png
    31,5 KB · Görüntüleme: 91
  • lia.png
    lia.png
    31,3 KB · Görüntüleme: 83
Son düzenleyen: Moderatör:
2 seçenek sunacağım sana :
1-a ları div içine koy.Ör:<div class="a"><a href="#">merhaba</a></div>
Daha sonra .a{text-align:center}

2-.uldiv ul li a{margin:0 auto..........}

Umarım işine yarar.
 
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

2 Seçenek sunacağım sana:
1-Aları div içine koy. Ör:<div class="a"><a href="#">merhaba</a></div>
Daha sonra .a{text-align:center}

2-.uldiv ul li a{margin:0 auto..........}

Umarım işine yarar.

Dediğiniz mantıklı geldi ve denedim fakat maalesef görseldeki gibi işe yaramadı.
Float: left; özelliğini kaldırınca sorun çözüldü fakat bu sefer de başka bir sorunum var görseldeki gibi menü divi sayfanın biraz solundan başlıyor, width:100%; yapsam dahi düzelmedi.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Son düzenleme:
Bunu yapmanın en organik yolu şu şekildedir:

Li elemanına display: inline verilir, li içerisindeki a elemanına ise display: inline-block; verilir. Son olarak ana menü elemanına text-align: center; verirsen istediğini elde etmiş olursun.

Sola koyacağın logo elemanının menüde kayma yapmaması için logo elemanını sabit (fixed) veya mutlak (absolute) konumlandırma ile konumlandırabilirsin, bu sayede menü elemanları logodan etkilenmeyeceklerdir.
 
Bunu yapmanın en organik yolu şu şekildedir:

Li elemanına display: inline verilir, li içerisindeki a elemanına ise display: inline-block; verilir. Son olarak ana menü elemanına text-align: center; verirsen istediğini elde etmiş olursun.

Sola koyacağın logo elemanının menüde kayma yapmaması için logo elemanını sabit (fixed) veya mutlak (absolute) konumlandırma ile konumlandırabilirsin, bu sayede menü elemanları logodan etkilenmeyeceklerdir.
Çok teşekkür ederimgönderiyi güncellememişim kusura bakmayın işi menü yapısını değiştirerek çözmüştüm ama yüksek ihitmalle sizin verdiğiniz örnek de işe yarayacaktır.
 

Geri
Yukarı