v2.5.2
Giriş yap

Absolute olan butonumu nasıl doğru bir şekilde ortalayabilirim?

bukr3j
571 defa görüntülendi ve 1 kişi tarafından değerlendirildi

"position: absolute" olan butonumu ortalamak istiyorum. Bootstrap kullanarak yapmaya çalıştım ama yapamdım.

<div class="container">
	<div class="row mt-4" style="margin-bottom: 0 !important; margin-right: 0 !important; margin-left: 0 !important; width: 100%;">
		<div class="col-12 align-items-center" style="width: 100%">
			<button type="button" class="btn" style="position: absolute !important" onclick="location='videos.php'">VİDEO GALERİ</button>
		</div>
	</div>
</div>
HTML

Bootstrap 4.6 sürümü.

Daha doğrusu absolute olan bir divimi nasıl istediğim gibi yerleştirebilirim?

Cevap yaz
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Cevaplar (6)
ebykdrms
1103 gün önce

Butonun kapsayıcısına position: relative; dedikten sonra butona şu stili verebilirsiniz:

position: absolute; 
left:50%; 
top:50%; 
transform:translateX(-50%) translateY(-50%);
CSS

inline olarak stil verecekseniz:

<div class="container">
	<div class="row mt-4" style="margin-bottom: 0 !important; margin-right: 0 !important; margin-left: 0 !important; width: 100%;">
		<div class="col-12 align-items-center" style="width: 100%; position:relative;">
			<button type="button" class="btn" style="position: absolute !important; left:50%; top:50%; transform:translateX(-50%) translateY(-50%);" onclick="location='videos.php'">VİDEO GALERİ</button>
		</div>
	</div>
</div>
HTML

Alternatif olarak flex tasarımın nimetlerinden yararlanın. position:absolute çoğunlukla başka problemler yaratabilir.
Ama flex tasarım bootstrap'ta asıl tepki verir bilemem. Denemek lazım.
Bu durumda kapsayıcıya stil vermeniz yeterli:

<div class="container">
	<div class="row mt-4" style="margin-bottom: 0 !important; margin-right: 0 !important; margin-left: 0 !important; width: 100%;">
		<div class="col-12 align-items-center" style="width: 100%; display:flex; align-items:center; justify-content:center;">
			<button type="button" class="btn" onclick="location='videos.php'">VİDEO GALERİ</button>
		</div>
	</div>
</div>
HTML
tayfunerbilen
1102 gün önce

yatay olarak ortalamak istersen, kapsayıcının belli bir genişliği olmalı. Diyelim ki var, o zaman şu değerleri verirsen

button {
    left: 50%;
    transform: translateX(-50%);
}
CSS

butonun içindeki genişliği bilmene gerek kalmaz dinamik olarak yatayda ortalayabilirsin. Dikeyde de ortalamak istersen

button {
    top: 50%;
    transform: translateY(-50%);
}
CSS

her iki eksen için istersen

button {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}
CSS

örnek bir kullanım

<div>
  <button>test</button>
</div>
<style>
div {
  width: 100%;
  height: 200px;
  border: 1px solid #ccc;
  position: relative;
}

button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}
</style>
HTML

burada önemli olan dediğim gibi buton position uygulanınca kapsayıcıda belli bir yükseklik ve genişlik yoksa sorun yaratır min. bir değer vermen gerekir ki ona göre ortalama işlemi yapabil.

rotaile
1103 gün önce

left, right, top, bottom değerleriyle

ebykdrms
1103 gün önce

Buton yerine span kullanıp yazıyı span içinde kullanırsanız yazıları da ortalamış olursunuz. Belki bir ihtimal ortalanmazsa span'a display:inline-block stili vermeniz gerekebilir.

bukr3j
1103 gün önce

Peki bir yazıyı ortalamak için aynı şey geçerli mi?

munzevi
1103 gün önce

absolute bulundugu elementi bagimsiz konumlandirir. yonleri piksek olarak belirtmelisin. left:0 gibi veya kapsayici relative yapmalisin.