css - 无法在引导程序上集中 div
问题描述
我正在尝试使用 css 集中 div“状态”。已经尝试使用vertical-align:middle,display:flex,align-item:center,但没有任何效果。有人能帮我吗?它看起来像 div 的高度保持不变,所以我不能集中它,因为它的内容完全填满了整个空间。
import React from 'react'
import { Row, Col } from 'reactstrap'
import styled from 'styled-components'
import Status from './Status'
export default ({ temporadas = [], temporadaSelecionada = {}, onChange = () => {} }) => {
return (
<StyledContainer>
<Row>
<Col md={12}>
{temporadas.map(temporada => {
return (
<StyledCard selected={temporadaSelecionada.codigo === temporada.codigo}
onClick={() => onChange(temporada)}>
<Status className='pull-right' style={{ marginRight: '-8px' }} ativa={temporada.status === 'A'} />
{/* <StyledIcon className={temporadaSelecionada.codigo === temporada.codigo ? 'fa fa-fw fa-minus' : 'fa fa-fw fa-plus'} /> */}
<StyledText alt={temporada.descricao} title={temporada.descricao}>{temporada.descricao || '-'}</StyledText>
</StyledCard>
)
})}
</Col>
</Row>
</StyledContainer>
)
}
const StyledContainer = styled.div`
margin-bottom: 10px;
`
const StyledCard = styled.div`
cursor: pointer;
padding: 16px;
display: block;
border: 1px solid #DADFEA;
background-color: #F4F7FA;
font-size: 100%
&:not(:first-child) {
margin-top: -1px;
}
&:last-child {
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
${({ selected }) => selected && `
border-left: 5px solid #C5CBD9;
padding-left: 12px;
`}
`
const StyledText = styled.span`
margin: 0;
`
const StyledIcon = styled.i`
font-size: 10px;
`
div“状态”是从另一个文件导入的,它的行为如下:
import React from 'react'
import styled from 'styled-components'
export default ({ ativa, label, ...props }) => {
if (ativa) {
return (
<div {...props}>
<StyledText>
<StyledLabel>{label}</StyledLabel>
<i class='fa fa-fw fa-circle text-success' />
<span>Ativa</span>
</StyledText>
</div>
)
} else {
return (
<div {...props}>
<StyledText>
<StyledLabel>{label}</StyledLabel>
<i class='fa fa-fw fa-circle text-danger' />
<span>Inativa</span>
</StyledText>
</div>
)
}
}
const StyledText = styled.small`
text-transform: none;
`
const StyledLabel = styled.span`
color: #79919D;
`
我想把那个 div 放在它所在行的垂直中心。有人可以帮我吗?
解决方案
你可以试试这个方法。
<div className=" centeredDiv">
<status></status>
<div>
.centeredDiv{
display:flex;
justify-content:center;
align-items:center;
}
推荐阅读
- python - 如何根据二维数组的两个条件更改数组值?
- javascript - 使用 Javascript 和 PHP 加载第一页/单页时客户端的 UTC 偏移量
- python - Python 多处理错误“ForkAwareLocal”对象没有属性“连接”
- javascript - 使用 Cheerio 的 Nodejs Webscraping 函数在完成之前返回
- regex - 如何通过正则表达式从Ruby中的字符串中提取年份
- jquery - 如何使用jquery用动态元素替换标签
- sql - 删除逗号分隔值之间的空格
- arrays - 如何根据 Ruby 中的一组通用键将两个数组拼接在一起
- kotlin - 如何修复okHttp3导致源代码与字节码不匹配
- html - 如何在图像标签上获得颜色叠加?