效果预览

按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。

https://codepen.io/comehope/pen/QrxxaW

可交互视频教程

此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

请用 chrome, safari, edge 打开观看。

https://scrimba.com/p/pEgDAM/cgRgQHr

源代码下载

请从 github 下载。

https://github.com/comehope/front-end-daily-challenges/tree/master/021-a-text-sliding-effect-ui

代码解读

定义 dom,容器中包含 question 和 answer:

  1. <div>
  2. <p>
  3. <span class="question">Who gives you milk?</span>
  4. <span class="answer">cow</span>
  5. </p>
  6. </div>

居中显示:

  1. html, body {
  2. height: 100%;
  3. display: flex;
  4. align-items: center;
  5. justify-content: center;
  6. background: darkcyan;
  7. }

设置文本样式:

  1. p {
  2. width: 400px;
  3. height: 2.5em;
  4. color: gold;
  5. font-size: 24px;
  6. border: 2px solid gold;
  7. line-height: 2.5em;
  8. text-align: center;
  9. border-radius: 10px;
  10. font-family: sans-serif;
  11. letter-spacing: 2px;
  12. word-spacing: 2px;
  13. box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
  14. }

设置答案的样式:

  1. p {
  2. position: relative;
  3. }
  4. p span {
  5. position: absolute;
  6. width: 100%;
  7. top: 0;
  8. left: 0;
  9. }
  10. p .answer {
  11. color: whitesmoke;
  12. font-size: 1.1em;
  13. text-transform: uppercase;
  14. background: rgba(0, 0, 0, 0.1);
  15. }

增加问题与答案滑动切换的动画效果:

  1. p {
  2. overflow: hidden;
  3. }
  4. p span {
  5. transition: 0.5s ease-out;
  6. }
  7. p .question {
  8. left: 0;
  9. }
  10. p:hover .question {
  11. left: 100%;
  12. }
  13. p .answer {
  14. left: -100%;
  15. }
  16. p:hover .answer {
  17. left: 0;
  18. }

dom 中再增加 2 个问题:

  1. <div>
  2. <p>
  3. <span class="question">Who gives you milk?</span>
  4. <span class="answer">cow</span>
  5. </p>
  6. <p>
  7. <span class="question">Who likes to eat flies?</span>
  8. <span class="answer">frog</span>
  9. </p>
  10. <p>
  11. <span class="question">Who have large claws?</span>
  12. <span class="answer">crab</span>
  13. </p>
  14. </div>

dom 中增加标题:

  1. <div>
  2. <h1>Who Am I</h1>
  3. <p>
  4. <span class="question">Who gives you milk?</span>
  5. <span class="answer">cow</span>
  6. </p>
  7. <p>
  8. <span class="question">Who likes to eat flies?</span>
  9. <span class="answer">frog</span>
  10. </p>
  11. <p>
  12. <span class="question">Who have large claws?</span>
  13. <span class="answer">crab</span>
  14. </p>
  15. </div>

设置标题样式:

  1. h1 {
  2. font-family: sans-serif;
  3. color: gold;
  4. text-align: center;
  5. }

最后,用伪元素增加大问号作为装饰背景:

  1. h1 {
  2. position: relative;
  3. }
  4. h1::after {
  5. content: '?';
  6. position: absolute;
  7. top: -0.35em;
  8. left: 0;
  9. font-size: 25em;
  10. transform: rotate(15deg);
  11. color: cyan;
  12. filter: opacity(0.3);
  13. text-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
  14. }

知识点

前端每日实战:21# 视频演示如何用纯 CSS 创作文本滑动特效的 UI 界面的更多相关文章

  1. 如何用纯 CSS 创作文本滑动特效的 UI 界面

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/QrxxaW 可交互视频教 ...

  2. 21纯 CSS 创作文本滑动特效的 UI 界面

    原文地址:https://segmentfault.com/a/1190000014842868 简化版地址:https://scrimba.com/c/cgaZLh6 感想:笨蛋,想不出自己的东西. ...

  3. 前端每日实战:140# 视频演示如何用纯 CSS 创作文本的淡入动画效果

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/ZMwgqK 可交互视频 此视频是可 ...

  4. 前端每日实战:32# 视频演示如何用纯 CSS 创作六边形按钮特效

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/xjoOeM 可交互视频教程 此视频 ...

  5. 前端每日实战:38# 视频演示如何用纯 CSS 创作阶梯文字特效

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MXYBEM 可交互视频教程 此视频 ...

  6. 前端每日实战:124# 视频演示如何用纯 CSS 创作一只纸鹤

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/xagoYb 可交互视频 此视频是可 ...

  7. 前端每日实战:151# 视频演示如何用纯 CSS 创作超能陆战队的大白

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/ReGRaO 可交互视频 此视频是可 ...

  8. 前端每日实战:42# 视频演示如何用纯 CSS 创作一个均衡器 loader 动画

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/oybWBy 可交互视频教程 此视频 ...

  9. 前端每日实战:157# 视频演示如何用纯 CSS 创作一个棋盘错觉动画(实际上每一行都是平行的)

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/VEyoGj 可交互视频 此视频是可 ...

随机推荐

  1. Oracle JET(二)Oracle JET使用

    Oracle JET 开发分为 Web 应用程序开发和移动应用程序开发(WebApp). Oracle JET Web 应用程序开发入门: 使用方法三种: 使用 Oracle JET Yeoman 生 ...

  2. 克隆虚拟机启动网卡提示错误 Device eth0 does not seem to be present, delaying initialization

    错误原因: 克隆的Linux系统在新的机器上运行,新服务器网卡物理地址已经改变.而/etc/udev/rules.d/70-persistent-net.rules这个文件确定了网卡和MAC地址的信息 ...

  3. inode节点用尽处理

    linux inode已满解决方法 原文 今天login server的一个网站,发现login后没有生成session.根据以往经验,一般是空间已满导致session文件生成失败. df -h Fi ...

  4. 十、补充数据类型set

    set:无顺序的不重复的集合 list---允许重复,修改tuple--允许重复,不能修改 set----不允许重复的集合例子: s=set()print s l1=[11,22,33,22,11]l ...

  5. python-笔记(操作excel)

    python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的.这 ...

  6. EF6中一个关于时间类型 datetime2 的坑

    在一个访问下位机的程序中,返回的时间戳有时候因断线产生0001年01月01日的时间,而原先使用拼接SQL进行数据存储的操作时,这个问题是可以跳过的. 这次把拼接SQL的部分重新改为EF进行管理,这个坑 ...

  7. Android studio 不能创建Activity等文件

    这是我之前安装Android studio的一系列问题:http://tieba.baidu.com/p/5921373177 1. 不能创建Activity等许多文件: 2. 工程运行不了: 3. ...

  8. try...catch语句

    程序的异常:Throwable 严重问题Error我们不处理,这种问题一般都是很严重的,比如内存溢出 问题Exception 编译期问题不是RuntimeException的异常必须进行处理,如果不处 ...

  9. lua 转换16进制字符串为10进制数值

    lua 转换16进制字符串为10进制数值 > print(tonumber()) 利用tonumber函数,“16”表示“03FFACB”为16进制数.

  10. 搭建 Git 服务器(基于 CentOS 7)

    服务器上的-Git-架设服务器-官网参考 对于规模比较小的团队,可以直接搭建 Git 服务器,逐个收集研发同学的证书配置进来即可.如果团队规模比较大,可以直接采用 GitLab.Drone 等现成的带 ...