Ant Design React. Bootstrap Grid концепция "контейнер"
Есть ли в Ant Design для React концепция "контейнера" Bootstrap Grid?
Контейнеры являются самым основным элементом макета в Bootstrap и требуются при использовании нашей сеточной системы по умолчанию. Выберите из адаптивного контейнера фиксированной ширины (что означает, что его максимальная ширина изменяется в каждой точке останова) или ширины жидкости (что означает, что его ширина постоянно составляет 100%).
Хотя контейнеры могут быть вложенными, большинство макетов не требуют вложенного контейнера.
<div class="container"> <!-- Content here --> </div>
5 ответов
Antd не предоставляет контейнер в своей сетке. Но вы можете создать свой собственный класс контейнера.
Вот как вы можете это сделать:
@import "~antd/lib/style/index";
.container {
width: 100%;
display: flex;
align-self: center;
margin: auto;
}
.make-container(@minWidth, @breakpoint) {
@media (min-width: @minWidth) {
.container {
max-width: @breakpoint;
}
}
}
.make-container(@screen-xs-min, @screen-xs);
.make-container(@screen-sm-min, @screen-sm);
.make-container(@screen-md-min, @screen-md);
.make-container(@screen-lg-min, @screen-lg);
.make-container(@screen-xl-min, @screen-xl);
.make-container(@screen-xxl-min, @screen-xxl); // Optional
тогда вы можете использовать класс, как в начальной загрузке
<div class="container"></div>
Добавьте это в свой файл CSS
.container{
position:relative;
margin-left:auto;
margin-right:auto;
padding-right:15px;
padding-left:15px
}
@media (min-width: 476px){
.container{
padding-right:15px;
padding-left:15px
}
}
@media (min-width: 768px){
.container{
padding-right:15px;
padding-left:15px
}
}
@media (min-width: 992px){
.container{
padding-right:15px;
padding-left:15px
}
}
@media (min-width: 1200px){
.container{
padding-right:15px;
padding-left:15px
}
}
@media (min-width: 476px){
.container{
width:100%
}
}
@media (min-width: 768px){
.container{
width:720px;
max-width:100%
}
}
@media (min-width: 992px){
.container{
width:960px;
max-width:100%
}
}
@media (min-width: 1200px){
.container{
width:1140px;
max-width:100%
}
}
@media (min-width: 1400px){
.container{
width:1340px;
max-width:100%
}
}
Вы можете создать контейнер из Row и Col
Для пространства сторон
<Col xs={1} sm={2}></Col>
Для содержания
<Col xs={22} sm={20}><Col>
сумма 3 должна дать 24
Пример:
<Row>
<Col xs={1} sm={2}></Col>
<Col xs={22} sm={20}>
{ Content }
</Col>
<Col xs={1} sm={2}></Col>
</Row>
Если вам нужно больше точек останова для отзывчивости, используйте другие точки: xs, sm, md, lg, xl, xxl.
Ну, просматривая документацию, они состоят из Col
с и Row
s. Ничего подобного React-Bootstrap <Grid />
(который является компонентом для container
учебный класс)
Ant Design не предоставляет такой функциональности, вам нужно будет создать ее самостоятельно. В дополнение к уже предложенному подходу с использованием классов CSS вы также можете создать компонент React. Если вы используете стилизованные компоненты, это будет выглядеть примерно так:
import React from 'react'
import styled from 'styled-components'
export const Container = styled.div`
max-width: 100%;
margin: 0 auto;
padding: 0 1rem;
@media (min-width: 576px) {
max-width: 576px;
}
@media (min-width: 768px) {
max-width: 768px;
}
@media (min-width: 992px) {
max-width: 992px;
}
@media (min-width: 1200px) {
max-width: 1200px;
}
`
function Container(props) {
return <S.Container {...props} />
}
export default Container
Затем вы можете использовать его как обычный компонент React:
<Container>
Lorem ipsum dolor sit amet, consectetur adipiscing elit...
</Container>