<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"/>
<title>自适应</title>
<style>
* {padding: 0; margin: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent;}
html,body {
width: 100%;
min-width: 320px;
max-width: 540px;
margin: 0 auto;
}
html {font-size: 13.333333333333333vw}
@media screen and (max-width: 320px) {
html {font-size: 50px}
}
@media screen and (min-width: 540px) {
html {font-size: 70px}
} .forHidden {
overflow: hidden;
width: 100%;
max-height: 1.2rem;
line-height: .4rem;
} .forAutoHeight {
position: relative;
} .content {
width: 100%;
color: #7f7f7f;
font-size: .28rem;
text-align: justify;
} .forGhost {
position: absolute;
z-index: 1;
top: 0;
left: 50%;
width: 100%;
height: 100%;
} .forGhost:before {
display: block;
float: right;
content: '';
width: 50%;
height: 100%;
}
.placeholder {
float: right;
width: 50%;
/*这里的height为什么不是1.2rem,因为在自适应情况下,可能会有部分误差,所以这个值要大于最外层元素的max-height*/
height: 1.3rem;
}
.ellipsisMore {
display: block;
float: right;
width: 2.4rem;
height: .4rem;
padding-left: .4rem;
margin-top: -.48rem; /*第一个浮动元素的高度刚好是可见高度,超出被裁剪,所以当更多按钮位于第二个浮动元素后面时,需要往上移,和最后一个段落平齐*/
line-height: .4rem;
color: green;
text-decoration: none;
font-size: .26rem;
/*一个文字被遮住部分会有些突兀,可设置遮罩背景部分透明以表达过渡效果*/
background:linear-gradient(90deg, transparent 2%, #fff 16%, #FFF 0);
} /*利用:target伪元素实现加载更多效果(不足是如果页面有滚动,定位会将段落定位到页面顶端*/
.forHidden:target { max-height: none; }
.forHidden:target .ellipsisMore { display: none; }
</style>
</head>
<body>
<div id="forHidden" class="forHidden">
<div class="forAutoHeight">
<div class="content">
《论生命之短暂》
生命并不短暂,只是我们浪费的太多;
一生足够漫长,如能悉心投入,足以创建丰功伟绩;
然而,在漫无目的、挥霍无度、汲汲于无聊琐事,
最终陷入万劫不复的终极之时,我们才会幡然大悟。
</div>
<div class="forGhost">
<div class="placeholder"></div>
<a href="#forHidden" class="ellipsisMore" target="_self">...更多</a>
</div>
</div>
</div>
</body>
</html>

css自定义省略实例2的更多相关文章

  1. css自定义省略实例1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 纯 CSS 自定义多行省略:从原理到实现

    文字溢出怎么展示,你的需求是什么?单行还是多行?截断,省略,自定义样式,自适应高度?在这里你都能找到答案.接下来我会由浅入深,从原理到实现,带你一步步揭开多行省略的面纱.我们先从最简单的单行溢出省略开 ...

  3. 【转】精选30个优秀的CSS技术和实例

    今天,我为大家收集精选了30个使用纯CSS完成的强大实践的优秀CSS技术和实例,您将在这里发现很多与众不同的技术,比如:图片集.阴影效果.可扩展按钮.菜单等-这些实例都是使用纯CSS和HTML实现的. ...

  4. 精选30个优秀的CSS技术和实例

    精选30个优秀的CSS技术和实例   投递人 墙头草 发布于 2008-12-06 20:57 评论(97) 有17487人阅读 原文链接 [收藏] « » 今天,我为大家收集精选了30个使用纯CSS ...

  5. jquery和css自定义video播放控件

    下面介绍一下通过jquery和css自定义video播放控件. Html5 Video是现在html5最流行的功能之一,得到了大多数最新版本的浏览器支持.包括IE9,也是如此.不同的浏览器提供了不同的 ...

  6. css技术和实例

    今天,我为大家收集精选了30个使用纯CSS完成的强大实践的优秀CSS技术和实例,您将在这里发现很多与众不同的技术,比如:图片集.阴影效果.可扩展按钮.菜单等-这些实例都是使用纯CSS和HTML实现的. ...

  7. CSS自定义样式

    CSS自定义样式 1. 自定义字体 先将字体文件放到web服务器上,需要时自动下载到用户计算机上 属性:@font-face 例: @font-face{ font-family:myFont; sr ...

  8. jQ效果:jQuery和css自定义video播放控件

    下面介绍一下通过jquery和css自定义video播放控件. Html5 Video是现在html5最流行的功能之一,得到了大多数最新版本的浏览器支持.包括IE9,也是如此.不同的浏览器提供了不同的 ...

  9. CSS 分类 (Classification) 实例

    CSS 分类 (Classification) 实例CSS 分类属性 (Classification)CSS 分类属性允许你控制如何显示元素,设置图像显示于另一元素中的何处,相对于其正常位置来定位元素 ...

随机推荐

  1. linux发布常用命令

    一.linux发布常用命令 //启动Tomcat sh /opt/apache-tomcat-8.5.29/bin/startup.sh //停止tomcat sh /opt/apache-tomca ...

  2. 对于 GC 方面,在使用 Elasticsearch 时要注意什么?

    1.SEE:https://elasticsearch.cn/article/32 2.倒排词典的索引需要常驻内存,无法 GC,需要监控 data node 上 segmentmemory 增长趋势. ...

  3. 在网页中预览excel表格文件

    项目需求在前端页面中实现预览excel表格的功能,上网了解之后大致总结为一下几种方法. 1.office文档转换为pdf,再转swf,然后通过网页加载flash进行预览 2.通过 xlsx.js,js ...

  4. APICloud Github 5大开源项目集合展示

    APICloud自成立之初,一直秉承着开源一切的初心,为了给予广大开发者们更多的资源及内容.不知不觉,2年时间已过,APICloud的github上已经集合了APICloud模块.前端框架及文档.云A ...

  5. 微信小程序拖动列表功能

    WXML部分 1 <view class="index"> 2 3 <!-- 数据展示区 --> 4 <scroll-view 5 class=&qu ...

  6. vant弹窗提示

    函数调用 Dialog 是一个函数而不是组件,因此可以直接调用,展示对应的提示弹窗 import { Dialog } from 'vant'; Dialog({ message: '提示' }); ...

  7. Redis分布式实现原理

    一.使用 1.pom.xml导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <ar ...

  8. Servlet学习记录

    个人认为servlet属于一种控制程序,可以处理浏览器的请求并做出对应的回应.我们经常使用的是让一个类去继承HttpServlet,然后在doget或者dopost里面写东西. 目前我个人常在doge ...

  9. 线程的概念及Thread模块的使用

    线程 一.什么是线程? 我们可以把进程理解成一个资源空间,真正被CPU执行的就是进程里的线程. 一个进程中最少会有一条线程,同一进程下的每个线程之间资源是共享的. 二.开设线程的两种方式 开设进程需要 ...

  10. linux压缩打包、定时任务

    压缩打包 gzip压缩 win中的压缩包:zip rar Linux常见的压缩包有哪些? gzip bzip2 1.gzip压缩 压缩命令:gzip [压缩文件] 解压命令:gzip -d [压缩包] ...