css处理图片上的文字(内阴影)

做项目过程中,我们可能会遇到这样的一个组件,该组件的图像上方是文本。 在某些情况下,根据所使用的图像,文字难以阅读,如文字是白色的,背景图偏浅。
这种情况有一些不同的解决方案,例如添加渐变叠加或着色的背景图像,文本阴影等。

简介
每个解决方案都应该解决一个问题。 我们来探讨本案的问题。 在设计图像上方有文字的组件时,我们需要注意使文字必须易于阅读的。

注意上图上,没有渐变覆盖的版本几乎不可读,这是对用户不利。 为了解决这个问题,我们需要在文本下方添加一个图层,便于阅读。 添加图层也有要注意的地方。因为,很多解决方案中没有考虑到可访问性。

多种解决方案
有多种解决方案可以使文本更易于阅读。 我们逐一看看

如上图所示,针对此问题有不同的解决方案。 需要注意的是渐变的解决方案。 为什么? 因为这种方案容易让文本失去可以访问性。

解决方案
The Gradient Overlay(渐变叠加)
一般而言,渐变叠加是让图像上的文字更加清晰的最常见解决方案,所以,我们重点来看看。

实现渐变叠加时,有两种方式:
1,使用单独的元素进行渐变伪元素或空的< div >
2,应用渐变作为背景图像。

.card__content {position: absolute;/* other styles (left, top, right, and padding) */background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
}


乍一看,你可能会认为渐变效果很好,这是不够全面的。如果用更多样的图片测试了同样的渐变效果,结果如下:

白色文本和图像之间的对比度并不总是很清晰。 对于某些人来说,可以接受,但是使用这种渐变是一个巨大的错误,因为文字无法访问。
原因是该渐变在垂直方向上应覆盖更多的空间,因此它的高度需要更大。 渐变等于内容的大小在所有情况下都无法使用。 为了解决这个问题,我们可以使用min-height,如下所示:
.card__content元素的min-height
Flexbox 将内容推到底部。

.card__content {position: absolute;/* other styles (left, top, right, and padding) */display: flex;flex-direction: column;justify-content: flex-end;background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
}

另一种解决方案是仅使用padding-top 来代替min-height和flexbox。

.card__content {position: absolute;padding-top: 60px;background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
}

请注意左卡和右卡之间的差异,渐变高度较大。

css处理图片上的文字(内阴影)相关推荐

  1. CSS实现背景透明而背景上的文字不透明

    在我们设计制作一些网页的时候可能会用到半透明的效果,首先我们可能会想到用PNG图片处理,当然这是一个不错的办法,唯一的兼容性问题就是ie6 下的BUG,但这也不困难,加上一段js处理就行了.但假如我们 ...

  2. css图片上漂浮着文字效果

    1.效果: 2.html代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <H ...

  3. html和css的图片怎么加,html+css如何在图片上添加文字

    html+css如何在图片上添加文字 2018-09-14 效果如图 思路:div相对定位. 图片默认定位, 文字绝对定位 参考代码 html> /*div1下面 包含着1个图片和1段文字*/ ...

  4. 图片上的文字用CSS写出毛玻璃效果

    图片上的文字用CSS写出毛玻璃效果  2016-10-04 08:11    网页设计   标签:css   1297    发表评论 半透明颜色最初的使用场景之一就是作为背景.将其叠放在照片类或其他 ...

  5. HTML CSS 个人注册界面 实现边框上加文字

    实例:制作个人注册界面 效果: HTML CSS 代码实现: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...

  6. 在css的框中打文字,css 边框上如何写入文字?

    方法一: 1.首先,打开html编辑器,新建html文件,例如:index.html. 2.在index.html中的 标签中,输入html代码:. 文字 3.浏览器运行index.html页面,此时 ...

  7. CSS实现背景图毛玻璃效果和如何保持图片上的文字显示正常

    说明 因为我的底子特别的差(大佬勿喷),今天想让文字在图片上方显示,并且给图片模糊,结果当图片模糊之后也就是实现毛玻璃效果后,发现图片上的文字也模糊掉了,这个问题当然可以用伪元素的方式解决,但是由于某 ...

  8. html图片左侧现实文字,css 关于图片上显示文字

    图片上显示文字,现在有很多主流的方法,最常用的就是position设置为relative或者absolute. 本文带来了一种新的实现方式:采用height为0+overflow为visible的方式 ...

  9. CSS|如何在页面上为文字添加艺术效果

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 问题描述 我们在使用word编辑文档时,经常会用到艺术字.插入 ...

最新文章

  1. 洛谷 1774 最接近神的人
  2. Matlab数据的可视化 -- 极坐标图及其与直角坐标图的转换
  3. 分类(classification)是认知的基础、分类步骤及主要算法、分类与回归的区别、分类过程
  4. 【Opencv探索】基于OpenCV的“图像拼接特效”(这效果很实用啊)
  5. mysql5.7.18压缩包下载_Centos7搭建Mysql5.7数据库
  6. 大整数算术求值 c语言 栈,用C语言实现 多位整数的四则运算,用栈,例如56*(12+20)-102/2...
  7. Python colormap库的安装和使用
  8. 全面了解CCD摄像机
  9. TestNG在接口测试中的应用
  10. 佳能打印机g3800如何安装到计算机,【佳能 G3800 喷墨无线一体打印机使用体验】驱动|安装|连接|连接_摘要频道_什么值得买...
  11. IntelliJ IDEA主题选择
  12. 前端工程师面试题汇总(我的解析,可能不一定对)(HTML部分)
  13. 思科ccie和华为hcie中交换机环路的产生原因和解决方法
  14. JAVA EE框架课程考点复习(大题和判断题)
  15. android java 启用4g_[RK3399] 修改移动网络默认为4G
  16. 记一次失败的安装tun设备过程
  17. 2018年个人成长总结及2019年个人成长计划
  18. 小巧的Mac软件卸载工具,App Cleaner的优点
  19. c语言标准库 SOCKET,[转载] 基于C/C++的WebSocket库
  20. 梨花众创-计算机检查与清理系统 使用简介

热门文章

  1. 门窗传感器能与哪些设备联动
  2. pandas—数据组合
  3. JDBC、MAVEN概述
  4. 【附源码】计算机毕业设计JAVA酒店订房系统
  5. 读书笔记-干法-乐观构思悲观计划乐观执行
  6. restormer的go软件安装命令
  7. 构造器(构造函数)的定义和作用
  8. 腾讯qlv转换mp4最简单方法
  9. Fluka软件Flair中compile无法编译的问题解决
  10. Linux命令自动补齐,切换工作目录,路径的表示方法