首页 > 其他 > 详细

强制span不换行

时间:2015-08-08 16:25:54      阅读:308      评论:0      收藏:0      [点我收藏+]

      对于上一篇提到的overflow的问题我好像搞懂一些了。事情大概是这个样子的:如果用了float属性,那么元素就会脱离文本的束缚,无法无天起来,这肯定是猿类无法忍受的。要想让他们乖乖就范,要么用清除浮动,要么用overflow属性。这是两种解决方法,不需要同时使用。但有一点要特别注意的,overflow:hidden这句话一定要写在父容器里才有效果。重要的事情说三遍:父容器~~父容器~~父容器~~。

      好了,言归正传。今天要解决的问题是,限制span标签不换行,并使超出的部分以点号代替。

      需求效果图:  技术分享技术分享

      实现代码如下:

  1. HTML代码
<div>
    <span class="spanStyle">费用自理</span>
    <span>80000000</span>
    <span><img src="../img/tip.png"></span>
</div>

当然,字体颜色样式按需求而定,此处只讲跟换行设置相关的。

      2. css代码

.spanStyle{  
      white-space: nowrap;  /*强制span不换行*/
      display: inline-block;  /*将span当做块级元素对待*/
      width: 32px;  /*限制宽度*/
      overflow: hidden;  /*超出宽度部分隐藏*/
      text-overflow: ellipsis;  /*超出部分以点号代替*/
      line-height: 0.9;  /*数字与之前的文字对齐*/
}

至此,功能实现。

      那么现在再来理一下这件事的逻辑。要想让span不换行,并且以点号代替超出的内容,则肯定要有相应的代码;超出长度不换行,那么这个span怎么着也要有个长度吧!所以要限定宽;可是span不吃这一套,所以要把它变成块级元素(至于用inline-block还是用block视情况而定,此处我的span后面还要排列一张图片,因此我用了inline-block)。要做的事情已经结束啦,可是发现限定为块级元素后,数字与之前的文字对不牢了,所以灵机一动,调整了一下行高。不知道这个做法是不是主流,不过可以对其了。后来发现之后的图片与数字也对不齐了,调整一下图片对齐方式就可以了。图片对齐默认的应该是中部对齐,我将其调整成了底部对齐,也就是这句代码:

vertical-align: bottom;

这个问题圆满解决,收工。

    


技术分享

强制span不换行

原文:http://www.cnblogs.com/LXJ-CHEER/p/4713298.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!