整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端经验-如何在p元素中展示固定行数的文字,超出部分

前端经验-如何在p元素中展示固定行数的文字,超出部分显示省略号

说明

最近项目上有个需求,就是有一个网站列表,每个网站下面要加上一段简介,简介文字有行数限制,超出行数以后后面的文字用省略号显示。

2 CSS代码

.websiteul p {
    margin: 5px 3px;
    font-size: 14px;
    color: #555;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4; /*设置p元素最大可以显示4行文字*/
    -webkit-box-orient: vertical;
}

3 效果图

  • TML标题通过<h1>-<h6>等标签定义。从1-6依次字号变小。
<h1>这是标题</h1>


  • HTML段落通过<p> </p>标签进行定义



  • HTML链接通过<a>标签进行定义,在 href 属性中指定链接的地址。
<h1>这是标题</h1>

点击文字就会跳转到链接页面

  • HTML图像通过<img>标签定义
<img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Ffile02.16sucai.com%2Fd%2Ffile%2F2014%2F0829%2Fb871e1addf5f8e96f3b390ece2b2da0d.jpg&refer=http%3A%2F%2Ffile02.16sucai.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1640251661&t=bbcdcc55bdac4a792d3f758462f9fd68" width="104" height="142" />

览器的兼容性越来越好,移动端基本是清一色的webkit,经常会用到css的不同尺寸/长度单位,这里做个整理。

概览

绝对单位

  • px : Pixel 像素

  • pt : Points 磅

  • pc : Picas 派卡

  • in : Inches 英寸

  • mm : Millimeter 毫米

  • cm : Centimeter 厘米

  • q : Quarter millimeters 1/4毫米

相对单位

  • % : 百分比

  • em : Element meter 根据文档字体计算尺寸

  • rem : Root element meter 根据根文档( body/html )字体计算尺寸

  • ex : 文档字符“x”的高度

  • ch : 文档数字“0”的的宽度

  • vh : View height 可视范围高度

  • vw : View width 可视范围宽度

  • vmin : View min 可视范围的宽度或高度中较小的那个尺寸

  • vmax : View max 可视范围的宽度或高度中较大的那个尺寸

运算

  • calc : 四则运算

实例:

h1 { width: calc(100% - 10px + 2rem)

单位比例

1in=2.54cm=25.4 mm=101.6q=72pt=6pc=96px

详细

绝对单位

px - Pixel 像素

像素 px 相对于设备显示器屏幕分辨率而言。

div { font-size: 12px }
p { text-indent: 24px }

pt Points 磅

1 pt=1/72 英寸

div { font-size: 10pt }
p { height: 100pt }

pc Picas 派卡

十二点活字(印刷中使用的),相当于我国新四号铅字的尺寸。

div { font-size: 10pc }
p { height: 10pc }

in Inches 英寸

div { font-size: 10in }
p { height: 10in }

mm Millimeter 毫米

div { font-size: 10mm }
p { height: 10mm }

cm Centimeter 厘米

div { font-size: 10cm }
p { height: 10cm }

q Quarter millimeters 1/4毫米

div { font-size: 20q }
p { height: 100q }

相对单位

% 百分比

相对于父元素宽度

<body>

em Element meter 根据文档计算尺寸

相对于当前文档对象内文本的字体尺寸而言,若未指定字体大小则继承自上级元素,以此类推,直至 body,若 body 未指定则为浏览器默认大小。

<body>

rem Root element meter 根据根文档( body/html )字体计算尺寸

相对于根文档对象( body/html )内文本的字体尺寸而言,若未指定字体大小则继承为浏览器默认字体大小。

ex 文档字符“x”的高度

相对于字符“x”的高度,通常为字体高度的一半,若未指定字体尺寸,则相对于浏览器的默认字体尺寸。

至于为啥是x,我TM也不知道。

ch 文档数字“0”的的宽度

同上,相对于数字“0”的宽度。

一张图解释:

vh View height / vw View Width - 可视范围

相对于可视范围的高度和宽度,可视范围被均分为 100 单位的 vh/vw;可视范围是指屏幕可见范围,不是父元素的,百分比是相对于包含它的最近的父元素的高度和宽度。

假设设备可视范围为高度 900px,宽度 750px,则, 1 vh=900px/100=9px,1vw=750px/100=7.5px

vmin / vmax 可视范围的宽度或高度中较小/较大的那个尺寸

假设浏览器的宽度设置为 1200px,高度设置为 800px, 则 1vmax=1200/100px=12px, 1vmin=800/100px=8px

如果宽度设置为 600px,高度设置为 1080px, 则 1vmin=6px, 1vmax=10.8px

假设需要让一个元素始终在屏幕上可见:

.box {

假设需要让这个元素始终铺满整个视口的可见区域:

.box {

总结

em、rem 是实际生产中我们最常用到的单位,可以使用其配合媒体查询改变 body 字体大小来实现响应式的设计,vh、vw、vmin、vmax也可以很方便地帮助我们控制响应尺寸,但实际的可控性可能不如前者,具体按照我们的业务需求去实践吧!