文本/范围旁边的图标显示在鼠标悬停的下一行

时间:2016-04-18 01:33:45

标签: html css

当用户将鼠标悬停在文本上方时,我需要在文本旁边显示一个编辑图标(内联)。当我将鼠标悬停在文本上时,编辑图标将在下一行中显示。

我的跨度占据了div宽度的100%,即使我已将其设置为80%宽度,其余20%宽度保留为右侧图标。

跨度风格是,

span{
display: inline-block;max-width:80%;width:80%;
}

看起来像,

enter image description here

如何在文本的同一行右侧显示内嵌图标? Plunker代码为here

2 个答案:

答案 0 :(得分:2)

你可以这样做。

$('document').ready(function(){
     console.log('document ready callback fn is invoked')
     $('.menu-body').hide()
   })
   $('body').on('click', '.drp-down-btn', function(){
     $('.menu-body').toggle()
   })
.cntr{
   width: 20%;
   overflow: hidden;
   white-space: nowrap;
   display: block;
 }
 .cntr  i {
   visibility: hidden;
   opacity: 0;
   transition: all 0.4s;
   -webkit-transition: all 0.4s;
   cursor: pointer;
 }

<!-- .cntr:hover{
   border: solid black 1px;
 } -->
 .cntr:hover > i{
      display: inline-block;
 }
 .cntr>span>p{
   width: 15%;
   overflow:hidden;
   vertical-align:middle;
   text-overflow: ellipsis;
   white-space: nowrap;
 }
.cntr span,.cntr p,.cntr i{
    display: inline-block;
}
 .cntr:hover  i{
   visibility: visible;
   opacity: 1;
 }
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<body>
  <div class="cntr">
    <span>
      <p>Hello worldaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
      <i class="fa fa-edit fa-lg" style="padding-left:5px;border-left: solid black 1px;">
      </i>
      </span>
  </div>
  <script src="script.js"></script>
</body>

答案 1 :(得分:0)

默认情况下,

span是内联元素,除非将其显示为块,否则无法为其添加宽度。

<div>
  <span style="display:inline-block; width:80%;">Hello Hello Hello</span>
  <i style="display:inline-block; padding-left:5px;float: right;   border-left: solid black 1px; width: 15%;">ICON</i>
</div>