Sobes.tech
Middle

Екі ішкі блок A және B берілген өлшемдермен. B блогын A блогының дәл ортасына қалай орналастыруға болады? Flexbox қолдаусыз ескі браузерлер үшін шешімдерді қоса алғанда бірнеше нұсқаны ұсыныңыз.

sobes.tech AI

AI-дан жауап

Бөлім B-ны A блогының дәл ортасына орналастыру үшін бірнеше әдісті қолдануға болады:

1. Flexbox (заманауи әдіс)

.parent {
  display: flex;
  justify-content: center; /* көлденең бағытта */
  align-items: center;    /* тік бағытта */
  width: 300px;  /* мысал */
  height: 200px; /* мысал */
}
.child {
  width: 100px;
  height: 50px;
}

2. Абсолюттік позициялау және трансформация

.parent {
  position: relative;
  width: 300px;
  height: 200px;
}
.child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 50px;
}

3. Кесте арқылы туралау (ескі браузерлер үшін)

.parent {
  display: table;
  width: 300px;
  height: 200px;
  text-align: center;
}
.child {
  display: table-cell;
  vertical-align: middle;
  width: 100px;
  height: 50px;
  margin: 0 auto;
}

4. line-height қолдану (блоктың биіктігі тұрақты және мәтіндік мазмұн болса)

.parent {
  width: 300px;
  height: 200px;
  line-height: 200px; /* ата-ананың биігіне тең */
  text-align: center;
}
.child {
  display: inline-block;
  vertical-align: middle;
  line-height: normal;
  width: 100px;
  height: 50px;
}

5. margin auto қолдану (тек көлденең бағытта)

.child {
  width: 100px;
  height: 50px;
  margin: auto;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

Ескі браузерлерді қолдау үшін flexbox-сыз абсолюттік позициялау мен трансформация немесе кесте арқылы туралау жақсырақ. Flexbox — заманауи браузерлер үшін ең қарапайым және әмбебап әдіс.