多行文本,垂直居中显示,文字超出高度显示省略号

最近项目中遇到多行文本,显示不全想打省略号,块状文本垂直居中显示,功能实现如下,

html:结构

<div class="questype-rate">
  <ul class="clearfix">
    <li>
      <div class="namebox">
        <div class="question-name">
          <div class="namerow">
            <div class="namecell">
               听力理解理解说话者的意图听力理解理解说话者的意图理解说话者的意图说话者的说话者的意图理解说话者的意图说话者的说话者的
            </div>
          </div>
        </div>
      </div>

      <div class="result-rate clearfix">

        <span class="fl"><img src="images/icon-man.png">&nbsp;42.00%</span>

        <span class="fr"><img src="images/icon-flag.png">&nbsp;53.00%</span>
      </div>

    </li>    

    <li>
      <div class="namebox">
        <div class="question-name">
          <div class="namerow">
            <div class="namecell">
               听力理解理解说话者的意图听力理解理解说话者的意图
            </div>
          </div>
        </div>
      </div>

      <div class="result-rate clearfix">

        <span class="fl"><img src="images/icon-man.png">&nbsp;42.00%</span>

        <span class="fr"><img src="images/icon-flag.png">&nbsp;53.00%</span>
      </div>

    </li>    

    <li>
      <div class="namebox">
        <div class="question-name">
          <div class="namerow">
            <div class="namecell">
               听力理解理解说话者的意图
            </div>
          </div>
        </div>
      </div>

      <div class="result-rate clearfix">

        <span class="fl"><img src="images/icon-man.png">&nbsp;42.00%</span>

        <span class="fr"><img src="images/icon-flag.png">&nbsp;53.00%</span>
      </div>

    </li>

</ul>
脚本:

<script type="text/javascript">
  $(function(){
    $(".questype-rate ul li .namebox").each(function(i){
    var divH = $(this).height();
    var txt = $(this).find(".namecell");
    while (txt.outerHeight() > divH) {
    txt.text(txt.text().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "..."));
    };
  });
})
</script>

css样式:

.questype-rate{margin-top: 32px;}
.questype-rate ul li{float: left; position: relative; background: #F9F9F9;border:1px solid #DEDEDE;border-radius: 5px;height: 100px;width: 116px;margin-right: 12px;margin-bottom: 12px;}
.questype-rate ul li .namebox{height: 66px;overflow: hidden;}
.questype-rate ul li .question-name{display: table;margin-top: 10px;padding:0 11px;}
.questype-rate ul li .question-name .namerow{display: table-row;}
.questype-rate ul li .question-name .namecell{display: table-cell;vertical-align: middle;font-size: 9px;height: 60px;}
.questype-rate ul li .result-rate{width:100%;position: absolute;bottom: 0;left: 0;height: 26px;line-height: 26px;background: #E8E8E8;font-size: 10px;}
.questype-rate ul li .result-rate .fl{margin-left: 5px;}
.questype-rate ul li .result-rate .fr{margin-right: 5px;}

呈现效果:

时间: 2024-11-03 20:57:59

多行文本,垂直居中显示,文字超出高度显示省略号的相关文章

关于用css实现的文字超出部分显示省略号

文字超出部分显示省略号还是比较常用的一个效果,最近看到网上的一些方法亲自实践了一下,发现有些以前一些浏览器不能用的属性现在可以用了,于是研究了一番,现总结如下: 我们先来看下HTML代码: <div> <p><span>用css来实现当文字超出宽度时显示省略号的效果</span></p> </div> CSS代码: div{ width: 200px; } span{ display: block; width: 200px; ove

html使用css让文字超出部分用省略号三个点显示的方法案例

html使用css让文字超出部分用省略号三个点显示的方法: 我正确使用的就是下面的代码,li里面是a标记.在IE和google中使用是正常的,火狐不知道,我也不在意,等你来测 li{ display:block;overflow:hidden;word-break:keep-all;white-space:nowrap;text-overflow:ellipsis; } 直接拿这个css样式去用吧,编程嘛,解决就好,不用看下面的了. 语法: text-overflow : clip | elli

css文字超出自动显示省略号

只针对单行文本有效: 01.针对块状元素 ul li{ width: 180px; text-overflow: ellipsis; white-space: nowrap;/*禁止自动换行*/ overflow: hidden; } css文字超出自动显示省略号显示省略号 css文字超出自动显示省略号 css文字超出自动显示省略号显示省略号 02.针对table table{ table-layout:fixed; } table td{ word-break:keep-all;/* 不换行

【转】html使用css让文字超出部分用省略号三个点显示的方法案例

html使用css让文字超出部分用省略号三个点显示的方法: 我正确使用的就是下面的代码,li里面是a标记.在IE和google中使用是正常的,火狐不知道,我也不在意,等你来测 li{     display:block; overflow:hidden; word-break:keep-all; white-space:nowrap; text-overflow:ellipsis; } 直接拿这个css样式去用吧,编程嘛,解决就好,不用看下面的了. 语法: text-overflow : cli

常用css样式(文字超出部分用省略号显示、鼠标经过图片放大、出现阴影)

文字超出部分用省略号显示: white-space: nowrap; /* 不换行 */ overflow: hidden; /* 超出部分不显示 */ text-overflow: ellipsis; /* 超出部分显示为... */ 鼠标经过图片放大 .team-img img{ width:188px; height: 200px; border-radius: 50%; transition: all 1.2s; -moz-transition: all 1.2s; -webkit-tr

文字超出省略显示为点点

对于文字溢出的解决,若是PC端还好控制,但是在手机端的控制就比较复杂了. 曾尝试用百分比设定宽度,可是却总会撑开,出现滚动条.而尝试用em值,不同手机浏览器的显示效果又不同,切距离看起来会拉的很大. 最后的解决办法: 用jQuery,动态获取屏幕的宽度,然后再按百分比赋值给需要控制溢出的类.最后还不能忘了,溢出超过显示省略号的三个属性,将这个属性所归的类名添加给需要控制的类.这样不管屏幕大小怎么变.每刷新一次就能实现想要的效果. 另外,想要实现页面跳转,不一定要用a标签,用这个即可, <li  

多行文字超出省略显示

.ellipsis-1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;word-break:break-all} .ellipsis-1{-webkit-line-clamp:1}

css 控制文字超出部分显示省略号

该文章转自:http://www.daqianduan.com/6179.html 如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览. 实现方法: overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 效果如图: 但是这个属性只支持单行文本的溢出显示省略号,如果我们要实现多行文本溢出显示省略号呢. 接下来重点说一说多行文本溢出显示

css 文字超出部分显示省略号(原)

单行超出省略号 #word1{width: 100px; text-overflow: ellipsis; overflow: hidden;} 几行超出省略号(只兼容webkit内核) #wordN{ width: 100px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;} 兼容写法(但是当文字不够长的时候省略号还是会存在,需要js判断一下) #word