围绕一个" i" div中的元素

时间:2014-12-08 12:15:38

标签: javascript jquery html css center

任何人都可以想到一个更好的方法来集中这个"我"元素到这个div中,不像我在这里所做的那样使用像素特定的边距。 这将是必要的,作为div" i"当悬停在它上面时,元素会增长。

这是我的代码。

HTML:

<div class="nav-collapse">
  <i class="fa fa-bars fa-2x" id="bars"></i>
</div>

CSS:

.nav-collapse {
top: 30px;
right: 30px;
position: fixed;
border-radius: 50%;
width: 50px;
height: 50px;
background-color: white;
z-index:200;
transition: width 0.2s, height 0.2s;

}

.nav-collapse i{
position: absolute;
color: #FFB361;
}

#bars {
margin-left: 11px;
margin-top: 9px;
}


.nav-collapse:hover {
    width: 60px;
    height: 60px;
}

2 个答案:

答案 0 :(得分:2)

见下面的输出

  • 添加text-align:center和line-height:50px to div

  • 从i

  • 中移除绝对位置
  • 删除#bars样式

  • 在高度变化时添加行高:60px到悬停状态

&#13;
&#13;
.nav-collapse {
top: 30px;
right: 30px;
position: fixed;
border-radius: 50%;
width: 50px;
height: 50px;
  line-height:50px;
background-color: white;
z-index:200;
transition: line-height 2s, width 0.2s, height 0.2s;
  text-align:center;
  background:red;

}

.nav-collapse i{

color: #FFB361;
}




.nav-collapse:hover {
    width: 60px;
    height: 60px;
   line-height:60px;
}
&#13;
<div class="nav-collapse">
  <i class="fa fa-bars fa-2x" id="bars">aa</i>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

使用transform: scale(1.4)而不是更改widthheight

.nav-collapse {
  top: 30px;
  right: 30px;
  position: fixed;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  background-color: white;
  z-index: 200;
  transition:  transform 0.2s;
}
.nav-collapse i {
  position: absolute;
  color: #FFB361;
}
#bars {
  margin-left: 11px;
  margin-top: 9px;
}
.nav-collapse:hover {
  -webkit-transform: scale(1.4);
  transform: scale(1.4);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  cursor: pointer;
}
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
<div class="nav-collapse">
  <i class="fa fa-bars fa-2x" id="bars"></i>
</div>