强制span不换行

对于上一篇提到的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;

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

时间: 2024-10-09 17:45:27

强制span不换行的相关文章

span标签换行

span{word-break:normal; width:auto; display:block; white-space:pre-wrap;word-wrap : break-word ;overflow: hidden ;} white-space -- 通过HTML文档的源代码的排版方式控制页面显示文本的排版方式 取值: normal | pre | nowrap | pre-wrap | pre-line | inherit normal: 正常无变化(默认处理方式.文本自动处理换行.

强制汉字词组换行css属性设置

<table border=1><tr><td width=300><a style="white-space:nowrap">中文</a><a style="white-space:nowrap">中文</a><a style="white-space:nowrap">中文</a><a style="white-space

多行文本溢出显示省略号

首先对之前的一篇文章进行一点补充. 之前的那篇叫做“强制span不换行”.当时只是实现了功能,并不知其所以然.最近学习了一点页面制作的知识,对原理有了些许了解.对于单行文本,实现溢出不换行并以省略号表示可以完全通过css实现,代码如下: /*处理文本的空白字符,使其不自动换行*/ white-space: nowrap; /*溢出的部分 隐藏*/ overflow:hidden; /*显示省略符号来代表被修剪的文本*/ text-overflow: ellipsis; 其实只要上面的代码合作,就

html span标签 不换行(有时span带中文时候是可以自动换行的)

<span>你好111111111111111111111111111111111111111111111111111aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</span> 不换行! 加上样式: style="display:inline-block;width:60%;word-wrap:break-word;white-space:normal;" 是因为 span 不是块状元素.本

&quot;float: left;&quot; div 不换行显示

<div id='p'> <div id='c1'> </div> <div id='c2'> </div> <div id='c3'> <span id='s1'> </span> <span id='s2'> </span> <span id='s3'> I want to display myself in the same line with element #c1,

jsp &lt;span&gt;标签自动换行

<span>你好43675373543786375425278687375434537diovfndlbnslvsdlbepsfqwo[ewsbnsdbonfdnb</span> 不换行 解决: 加上样式 : style="display:inline-block;width:60%;word-wrap:break-word;white-space:normal" 当用<span>你好,北京欢迎你<span>自动换行 解决: 加上样式 :

阻止文本行换行

<script type="text/javascript"> function strReplace(str){ var t="",len=0; t=str.replace(/\r\n\g,"\\n").replace(/\n\g,""); document.form.output.value=t; } </script> <body> <form id="form&quo

span标签之间的空隙

出现的问题: 在html中,当有两个以及两个以上的span标签并列的时候,如果任意两个span之间换行书写的话,那么他们在页面上展现的时候往往会有空隙 解决的办法有两个: 1.将两个span标签写在同一行 2.给span标签添加float

百度编辑器序号和项目符号不能显示解决

在做论坛.个人网站.办公OA,对于富文本编辑器的使用,业界使用最多.最好的应该是百度编辑器.在使用百度编辑器做富文本编辑,碰到序号.项目符号,在个性化页面展示不能显示的问题.简单分析下,将百度编辑器,编辑后的HTML存储,再用于个性化页面显示,对于指定序号和项目符号显示没有相关的样式.那解决起来就比较简单了,把相关的样式在个性化页面单独添加引用就可以了. 一.查看是什么样式: 二.个性化页面添加list-style-type样式 通过w3school 找到, list-style-type介绍,