当前位置: 首页 > 知识库问答 >
问题:

图像css\html\vue上的动态字体大小。js

左丘涵畅
2023-03-14

我需要在图像上设置文本。包含图像的image\div的大小是固定的。我在图像上方得到一些输入,用户可以插入一些文本。文本通过道具注入“图像组件”,然后我需要在图像上显示它。诀窍在于文本有固定的位置。在图像的底部。当然,文本不应溢出图像边框,并且需要最大跨度。我的意思是,如果文本是“短的”(少量字符),那么使用java脚本函数,字体大小应该增加,反之亦然。

我的函数的问题是不够“灵活”,字体大小和文本长度之间的比率太“硬编码”,使用固定值改变了期望的结果。

 <template>
    <div class="img-container z-depth-4">
        <img class="img-to-edit" :src="this.urlChanges">
            <p class="text-append">{{textToAppend}}</p>
    </div>
</template>

<script>

    export default{
        props: ['urlChanges', 'textToAppend'],
        data () {
            return {
                limit: 25,
                font: 35,
                offset: 0
            }
        },
        mounted() {
            let self = this
            $( document ).ready(function() {
                 //that's an input from the parent component
                $('#textarea1').on('keypress', function(e) {

                    let that = $(this);
                    let textLength = that.val().length;

                    if(textLength+self.offset > self.limit) {

                        $('.text-append').css('font-size', self.font + 'px');
                        self.font -= 5;
                        self.offset -=5;
                    }
                });
            });
        },
    }
</script>

风格呢

<style scoped>
    .img-container {
        width: 800px;
        height: 430px;
        overflow: hidden;
        background: #ccc;
        margin: 10px;
        line-height: 150px;
        position: relative;
        text-align: center;
        color: white;
    }

    .img-to-edit {
        max-width: 100%;
        max-height: 100%;
        vertical-align: middle;
        flex-shrink: 0;
        min-width: 100%;
        min-height: 100%;
    }

    .text-append{
        position: absolute;
        top: 80%;
        left: 50%;
        transform: translate(-50%, -50%);
        overflow: hidden;
    }
</style>

我不确定我的css定义。

共有1个答案

黄元章
2023-03-14

您可以使用vhvw字体大小,在几乎非常高的分辨率下,比率将保持不变

font-size: 5vh

或者

font-size: 10vw
 类似资料:
  • 问题内容: 我目前正在尝试在我的网站上制作一个图像地图,该图像地图会根据窗口的大小进行调整…我想知道是否可以通过HTML来执行此操作,还是必须使用Javascript或其他方式来执行此操作?语言。 问题答案: 如果最终使用JavaScript完成任务,则可以使用以下跨浏览器代码段来调整元素中所有区域的大小。 必须等于原始图像的宽度。您还需要在HTML中使用一些相对单位:

  • 工作模板艺术。在这里,我已将文本转换为图像这是工作良好,我有3个文本框,每个文本框在浏览器上生成单独的图像行。问题是,我还有另外三个文本框用于更改每个转换文本的字体大小。我不知道如何将3个不同的字体大小变量转换成转换文本来改变字体大小,因为。 演示链接:-单击此处 贝娄是我真正想要的快照。在这里您可以看到,每行文字的字体大小都可以通过字体大小文字(行高)来更改。 我的索引。php示例代码 我的一些

  • 问题内容: 如本问题所述(将图像包装到Jframe中),我需要一个jframe来匹配提供的确切图像(图像本身最初是已转换为图像的PDF) 所提供的解决方案确实为我的图像尺寸构建了一个jframe,但实际上看不到所有图像。我需要能够调整jframe的大小,并使图像动态调整为新的jframe大小。失败的话,我想如果我可以滚动jframe或什至放大或缩小,至少可以到达当前无法看到的图像部分。 我需要这个

  • 正如在这个问题中讨论的(将图像包装到Jframe),我需要一个Jframe来匹配精确提供的图像(图像本身最初是一个PDF,已经转换为图像)

  • 问题内容: 我希望在调整浏览器窗口大小时自动调整所有(或部分)图像的大小。我发现了以下代码-尽管它什么也没做。 HTML CSS 在调整浏览器窗口的大小时,如何基本设置全屏设计(带有),并使元素处于完全相同的位置(明智的选择),同时它们的大小也进行调整(就像对背景一样)? 要使图像灵活,只需添加和。图像并在IE7中有效,但在IE8中无效(是的,另一个怪异的IE错误)。要解决此问题,您需要添加IE8

  • 我使用Zurb Foundation3网格创建了一个站点。每个页面都有一个大的: null null 当我将浏览器的大小调整为移动大小时,大字体不会调整,并导致浏览器包括一个水平滚动以适应大文本。 我注意到,在Zurb Foundation 3排版示例页面上,头适应浏览器的压缩和扩展。 我是不是错过了一些很明显的东西?我如何实现这一点?