Я намагаюся відцентрувати вміст колонки. Не схоже, що це працює для мене. Ось мій HTML:
<div class="row">
<div class="col-xs-1 center-block">
<span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
</div>
</div>
Я намагаюся відцентрувати вміст колонки. Не схоже, що це працює для мене. Ось мій HTML:
<div class="row">
<div class="col-xs-1 center-block">
<span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
</div>
</div>
Відповіді:
Використання:
<!-- unsupported by HTML5 -->
<div class="col-xs-1" align="center">
замість
<div class="col-xs-1 center-block">
Ви також можете використовувати bootstrap 3 css:
<!-- recommended method -->
<div class="col-xs-1 text-center">
Bootstrap 4 тепер має гнучкі класи, які будуть центрувати вміст:
<div class="d-flex justify-content-center">
<div>some content</div>
</div>
Зверніть увагу, що за замовчуванням це буде, x-axis
якщо flex-direction
це не такcolumn
[Оновлено грудень 2020]: Тестована та включена 5.0
версія Bootstrap.
Я знаю, що це питання давнє. І питання не згадувало, яку версію Bootstrap він використовував. Тож я буду вважати, що відповідь на це питання вирішена.
Якщо хтось із вас (як я) натрапив на це запитання і шукав відповідь, використовуючи поточну фреймворк bootstrap 5.0 (2020) та 4.5 (2019), то ось рішення.
Використовуйте d-flex justify-content-center
у колонці div. Це відцентрує все усередині стовпця.
<div class="row">
<div class="col-4 d-flex justify-content-center">
// Image
</div>
</div>
Якщо ви хочете вирівняти текст всередині col, просто використовуйте text-center
<div class="row">
<div class="col-4 text-center">
// text only
</div>
</div>
Якщо у вас є текст і зображення всередині стовпця, вам потрібно використовувати d-flex
justify-content-center
і text-center
.
<div class="row">
<div class="col-4 d-flex justify-content-center text-center">
// for image and text
</div>
</div>
Конвенції імен Bootstrap містять власні стилі, col-XS-1 відноситься до стовпця, що становить 8,33% від вміщуючого елемента в ширину. Ваш текст, швидше за все, розширився б далеко за межі вказаної ширини і не міг би бути в центрі в ньому. Якщо ви хотіли, щоб це обмежувало div, ви можете використовувати щось на зразок css word-break.
Для центрування вмісту в межах елемента, достатнього для розширення за межі тексту, у вас є два варіанти.
Варіант 1: Тег HTML Center
<div class="row">
<div class="col-xs-1 center-block">
<center>
<span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
</center>
</div>
</div>
Варіант 2: CSS Text-Align
<div class="row">
<div class="col-xs-1 center-block" style="text-align:center;">
<span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
</div>
</div>
Якщо ви хотіли, щоб все обмежувало ширину стовпця
<div class="row">
<div class="col-xs-1 center-block" style="text-align:center;word-break:break-all;">
<span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
</div>
</div>
ОНОВЛЕННЯ - Використання класу текстового центру Bootstrap
<div class="row">
<div class="col-xs-1 center-block text-center">
<span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
</div>
</div>
Метод FlexBox
<div class="row">
<div class="flexBox" style="
display: flex;
flex-flow: row wrap;
justify-content: center;">
<span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
</div>
</div>
Не потрібно ускладнювати справи. За допомогою Bootstrap 4 ви можете просто вирівняти елементи горизонтально всередині стовпця, використовуючи автоматичний клас поляmy-auto
<div class="col-md-6 my-auto">
<h3>Lorem ipsum.</h3>
</div>
Bootstrap 4, горизонтальне та вертикальне вирівнювання вмісту за допомогою гнучкого вікна
<div class="page-hero d-flex align-items-center justify-content-center">
<h1>Some text </h1>
</div>
Використовуйте клас bootstrap align-items-center і justify-content-center
.page-hero {
height: 200px;
background-color: grey;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<div class="page-hero d-flex align-items-center justify-content-center">
<h1>Some text </h1>
</div>
Використовуйте text-center
замість center-block
.
Або використовуйте center-block
на елементі span (я зробив стовпець ширшим, щоб ви могли краще бачити вирівнювання):
<div class="row">
<div class="col-xs-10" style="background-color:#123;">
<span class="center-block" style="width:100px; background-color:#ccc;">abc</span>
</div>
</div>
//add this to your css
.myClass{
margin 0 auto;
}
// add the class to the span tag( could add it to the div and not using a span
// at all
<div class="row">
<div class="col-xs-1 center-block">
<span class="myClass">aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
</div>
</div>
col-lg-4 col-md-6 col-sm-8 col-11 mx-auto
1. col-lg-4 ≥ 1200px (popular 1366, 1600, 1920+)
2. col-md-6 ≥ 970px (popular 1024, 1200)
3. col-sm-8 ≥ 768px (popular 800, 768)
4. col-11 set default smaller devices for gutter (popular 600,480,414,375,360,312)
5. mx-auto = always block center
Якщо жодне з вищезазначеного не працює (як у моєму випадку, намагаючись відцентрувати вхід), я використав зміщення Boostrap 4:
<div class="row">
<div class="col-6 offset-3">
<input class="form-control" id="myInput" type="text" placeholder="Search..">
</div>
</div>
span
по центру.col-xs-1
або вирівнятиcol-xs-1
по центру.row
?