为了账号安全,请及时绑定邮箱和手机立即绑定

旋转 html 插入符号不会使用 css 从中心旋转

旋转 html 插入符号不会使用 css 从中心旋转

www说 2023-03-24 17:06:32
我有这个简单的插入符号可以旋转,但它似乎没有从中心旋转,我应该调整什么?const Wrap = styled.div`  width: 100px;  background: grey;  span {    display: block;    transform: ${(props) => (props.isOpen ? "rotate(0deg)" : "rotate(180deg)")};    transition: all ease-in 0.2s;  }`;export default function App() {  const [open, setIsOpen] = React.useState(false);  return (    <Wrap isOpen={open} className="App" onClick={() => setIsOpen(!open)}>      {open.toString()}      <span>&#94;</span>    </Wrap>  );}https://codesandbox.io/s/angry-jackson-8rdcl?file=/src/App.js:90-541
查看完整描述

2 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

这是因为你的元素的尺寸。看对比截图:

//img1.sycdn.imooc.com//641d68380001e89c01650240.jpg

相对

//img1.sycdn.imooc.com//641d6842000188b703030172.jpg

只需使用其他资产。


例子:


span {

    display: block;

    transform: ${(props) => (props.isOpen ? "rotate(90deg)" : "rotate(270deg)")};

    transition: all ease-in 0.2s;

}


<span>{">"}</span>


查看完整回答
反对 回复 2023-03-24
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

实际上是span从中心旋转。但是您的插入符字形不在跨度的垂直中心,因为它在底部有很大的边距:^。在跨度上设置固定高度以强制插入符号向下。或者使用更合适的字形。


const Wrap = styled.div`

  width: 100px;

  background: grey;


  span {

    display: block;

    transform: ${(props) => (props.isOpen ? "rotate(0deg)" : "rotate(180deg)")};

    transition: all ease-in 0.2s;

    height: 13px;

  }

`;


查看完整回答
反对 回复 2023-03-24
  • 2 回答
  • 0 关注
  • 233 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号