对象未出现在组件 React 的中间 Bootstrap/CSS

Object Isn't Appearing in the Middle of Component React Bootstrap/CSS

我用 react-bootstrap 创建了一个自定义时钟,带有增加和减少分钟和秒的按钮。但是,我似乎无法按照自己喜欢的方式设置样式。我不确定如何让增量按钮彼此靠近,并且分和秒似乎无法显示在组件的中心。这是我的代码:

const [timer,userTimer] = useState(0);

export const formatTime = (timer) => {
  const getSeconds = `0${timer % 60}`.slice(-2);
  const minutes = `${Math.floor(timer / 60)}`;

  const getMinutes =
    minutes < 100
      ? `0${minutes % 130}`.slice(-2)
      : minutes < 110
      ? `10${minutes % 130}`.slice(-3)
      : minutes < 120
      ? `11$${minutes % 130}`.slice(-3)
      : minutes < 130
      ? `12$${minutes % 130}`.slice(-3)
      : 130;

  return `${getMinutes}:${getSeconds}`;
};

  return (
        <Col>
          <Row>
            <Col sm={2}>
              <Row>
                <BsFillCaretUpFill
                />
              </Row>
              <Row>
                <BsFillCaretDownFill
                />
              </Row>
            </Col>
            <Col sm={8}>
              <div className="clock">{formatTime(timer)}</div>
            </Col>
            <Col sm={2}>
              <Row>
                <BsFillCaretUpFill
                />
              </Row>
              <Row>
                <BsFillCaretDownFill
                />
              </Row>
            </Col>
          </Row>
        </Col>);

clock.css

.clock {
  font-size: 1.6em;
  letter-spacing: 0.1em;
  color: white;
}

我不确定为什么时钟显示在组件中没有很好地居中显示。我还想让 BsFillCaretUpFillBsFillCaredDownFill 靠得更近一些 - 我试过调整 Row 的高度,但它不起作用。请帮忙!

这是我想要的时钟外观的粗略草图,箭头在垂直方向上稍微靠近一点,时钟显示居中:

您可能希望像这样将时钟包裹在 flex div 中:

const [timer,userTimer] = useState(0);

export const formatTime = (timer) => {
  const getSeconds = `0${timer % 60}`.slice(-2);
  const minutes = `${Math.floor(timer / 60)}`;

  const getMinutes =
    minutes < 100
      ? `0${minutes % 130}`.slice(-2)
      : minutes < 110
      ? `10${minutes % 130}`.slice(-3)
      : minutes < 120
      ? `11$${minutes % 130}`.slice(-3)
      : minutes < 130
      ? `12$${minutes % 130}`.slice(-3)
      : 130;

  return `${getMinutes}:${getSeconds}`;
};

  return (
        <Col>
          <Row>
            <Col sm={2}>
              <Row>
                <BsFillCaretUpFill
                />
              </Row>
              <Row>
                <BsFillCaretDownFill
                />
              </Row>
            </Col>
            <Col sm={8}>
               <div style={{ display : "flex" , justifyContent : "center" , 
                 alignItems : "center" , width : "100%"}} >
                    <div className="clock">{formatTime(timer)}</div>
               </div> 
            </Col>
            <Col sm={2}>
              <Row>
                <BsFillCaretUpFill
                />
              </Row>
              <Row>
                <BsFillCaretDownFill
                />
              </Row>
            </Col>
          </Row>
        </Col>);

注意

如果您想移动时钟的上下图标,您可以对它们应用带有样式的 css 类名,或者用 div 包裹它们并使用内联样式,如下所示:

 <Col sm={2}>
    <Row>
       <div style={{ transform : `translate(5px , 0)` }} >
         <BsFillCaretUpFill />
       </div>
    </Row>
    <Row>
       <div style={{ transform : `translate(-5px , 0)` }} >
          <BsFillCaretDownFill />
       </div>
    </Row>
  </Col>