【问题标题】:How to create responsive text on top of an image?如何在图像上创建响应式文本?
【发布时间】:2017-01-19 19:33:49
【问题描述】:

我真的不确定如何以其他方式提出这个问题,但我正在尝试在图像顶部加载文本 - 这本身似乎是一项棘手的任务,但我已经开始使用它了this 教程。不幸的是,该教程有点过时了,我无法找到一种方法来动态更改移动设备的字体大小和跨度大小,并且仍然将文本保持在图像顶部的正确位置。

当窗口被调整大小时,文本框没有正确调整大小(它溢出图像之外)。

我尝试了百分比大小以及其他技术,但运气不佳。我用来在带有背景的图像上显示文本的 CSS 如下所示。

在图片上叠加文字的最佳做法是什么?如何让它具有响应性?这就是我现在正在尝试将其用于桌面浏览器:

.herotext span {
  position:     absolute;
  top:          80%;
  font-family:  'museo_slab500';
  font-size:    150%;
  color:        #fff;
  padding-left: 20px;
  width:        40%;
  line-height:  35px;
  background:   rgb(0, 0, 0);
  background:   rgba(0, 0, 0, 0.7);
}

最近有人对如何正确处理这个问题有一些建议吗?我上面提到的文章来自 2009 年,我怀疑这不是覆盖文本的最佳方式。

【问题讨论】:

    标签: css html


    【解决方案1】:

    以下是我要做的更改:

    • 使用bottom 而不是top 定位span,这样您在跨度和图像底部之间始终有一个特定的边距。
    • 使用基于百分比的line-height,使其与font-size 成比例变化
    • 在跨度的右侧添加一些填充,这样文本就不会在跨度的边缘向上凸出

    更新的 CSS:

    .herotext span {
        position:    absolute;
        bottom:      20px;
        font-family: 'museo_slab500';
        font-size:   150%;
        color:       #fff;
        padding:     0 20px;
        width:       40%;
        line-height: 150%;
        background:  rgb(0, 0, 0);
        background:  rgba(0, 0, 0, 0.7);
    }
    

    【讨论】:

    • 哇,非常感谢 Rob。太完美了——我从没想过行高是缩放文本的最佳方式!非常感谢:)
    • 谢谢,它拯救了我的一天。
    猜你喜欢
    • 2017-05-27
    • 1970-01-01
    • 2019-02-01
    • 2015-09-05
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 2016-12-13
    相关资源
    最近更新 更多