CSS图标位置

时间:2018-06-12 19:45:11

标签: css reactjs

所以我一直试图用填充和边距来改变图标位置,但问题是3个按钮随之移动!我正试图在登录旁边正确定位图标!如果有人可以帮助它会很棒!谢谢!

这是我的JSX代码:

class Navigation extends Component {
  render(){
    return(
      <div className ='navBar'>
        <div className= 'menu-right'>
          <NavLink className="navBtn" to="/about">About</NavLink>
          <NavLink className="navBtn" to="/contact">Contact</NavLink>
          <NavLink className="navBtn" to="/3oss">
            <svg className='signInIcon' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
              <path d="M256 256c52.805 0 96-43.201 96-96s-43.195-96-96-96-96 43.201-96 96 43.195 96 96 96zm0 48c-63.598 0-192 32.402-192 96v48h384v-48c0-63.598-128.402-96-192-96z"/>
            </svg>
            Sign in
          </NavLink>
        </div>
        <div className="logo">
          <NavLink to = "/">Logo </NavLink>
        </div>
      </div>
    );
  }
}

这就是CSS:

.menu-right {
  float: right;
  margin: 20px;
  padding: 5px;
}

.navBar {
  background-color: #dfe6e9;
  height: 70px;
  opacity: 0.6;
}

a.navBtn {
  text-align: center;
  background-color:#00b894;
  padding: 10px;
  border-radius: 10%;
  margin-left: 10px;
  color:white;
}

a.navBtn:hover {
  background-color:#fd79a8;
}

a.navBtn:link {
  text-decoration: none;
}

.logo {
  float:left;
  margin: 20px;
  font-size: 20px;

}
.signInIcon {
  height: 20px;
}

结果如下: enter image description here

当我尝试在.signInIcon上使用填充或保证时,它会给我:

enter image description here

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

调整图标位置有不同的方法。如果你只是想换几个像素,我喜欢用position: relative;这样的东西:

position: relative;
top: -3px;
left: 2px;

适应您的喜好。这样,&#34;足迹&#34;原始元素仍然存在。重新定位的渲染仅影响您移动的元素的外观位置,而不是它在文档流中的实际位置。

答案 1 :(得分:0)

尝试

.signInIcon {
  position: relative;
  height: 20px;
}