为什么两个div之间的样式有所不同?

时间:2018-10-03 04:22:48

标签: css reactjs bootstrap-4 styled-components

我正在尝试学习样式化组件并构建了该组件:

import React from 'react'
import styled from 'styled-components'

const Row = styled.div`
`

const Column = styled.div`
    flex: 0 0 50%;
    max-width: 50%;
`

export default () => {
    return (
        <div className="container-fluid">
            <div className="row">
                <Column>50%</Column>
                <Column>50%</Column>
            </div>
            <div className="row">
                <div className="col-sm-6">50%</div>
                <div className="col-sm-6">50%</div>
            </div>
        </div>
    )
}

第一行包含样式化的组件,第二行不包含但具有相同的css规则,但具有mediaquery,布局仍然不同:

@media (min-width: 576px)
.col-sm-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 61%;
    max-width: 50%;
}

Codepen

2 个答案:

答案 0 :(得分:0)

您缺少padding-right: 15px; padding-left: 15px;,它是由引导程序(.col-sm-6在行号_grid-framework.scss处添加到类9中的。

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5,
.col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10,
.col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10,
.col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
.col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10,
.col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
.col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10,
.col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6,
.col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

答案 1 :(得分:0)

Bootstrap列也占用padding-right: 15px; padding-left: 15px;,这就是布局几乎没有区别的原因。

选中Bootstrap documentation