ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【快应用】text组件里的文字很多,旁边的div样式会被拉伸如何解决

2022-07-01 09:07:01  阅读:142  来源: 互联网

标签:flex 拉伸 text height div 30px


 【现象描述

当text组件的内容较多多行显示的时候,相邻的div样式会显示异常,会从正常的圆形变为椭圆。

代码如下:

<template>

  <div class="container">

    <div style="align-items: center;">

       <div class="typscolor" style="background-color: blue; opacity: 0.26; margin-left: 16px;"></div>

      <text>{{text}}</text>

       <div class="typscolor" style="background-color: blue; opacity: 0.26; margin-left: 16px;"></div>

      <text>{{text}}</text>

       <div class="typscolor" style="background-color: blue; opacity: 0.26; margin-left: 16px;"></div>

      <text>{{text}}</text>

    </div>  

  </div>

</template>

<style>

  .container {

    flex-direction: column;

    justify-content: center;

    height: 100%;

  }

   text {

    font-size: 24px;

  }

  .typscolor {

      border-radius: 50%;

      width: 30px;

      height: 30px;

      background-color: red;

      margin-right: 8px; 

  }

</style>

<script>

  module.exports = {

    data: {

      text:'text文本内容过多时左边的圆圈会被拉伸'

    },

    onInit() {

    },

  }     

</script>

如图所示

异常

cke_11537.png

正常

cke_56930.png

 

【问题分析】

当text组件内容过多时,flex布局的时候宽度超出会自动压缩,从而导致div标签被拉伸了

 

【解决方法】

可以给div标签设置flex-shrink: 0属性,即可解决该问题

示例代码如下:

<template>

  <div class="container">

    <div style="align-items: center;">

       <div class="typscolor" style="background-color: blue; opacity: 0.26; margin-left: 16px;"></div>

      <text>{{text}}</text>

       <div class="typscolor" style="background-color: blue; opacity: 0.26; margin-left: 16px;"></div>

      <text>{{text}}</text>

       <div class="typscolor" style="background-color: blue; opacity: 0.26; margin-left: 16px;"></div>

      <text>{{text}}</text>

    </div>  

  </div>

</template>

<style>

  .container {

    flex-direction: column;

    justify-content: center;

    height: 100%;

  }

   text {

    font-size: 24px;

  }

  .typscolor {

      border-radius: 50%;

      width: 30px;

      height: 30px;

      background-color: red;

      margin-right: 8px; 

      flex-shrink: 0;   /*加上该属性即可解决拉伸问题*/

  }

</style>

<script>

  module.exports = {

    data: {

      text:'text文本内容过多时左边的圆圈会被拉伸'

    },

    onInit() {

    },

  }     

</script>

如图所示:

cke_155420.png

 

​欲了解更多详情,请参见:
华为官网:
https://developer.huawei.com/consumer/cn/forum/topic/0203908673278080243?fid=23?ha_source=zzh

标签:flex,拉伸,text,height,div,30px
来源: https://www.cnblogs.com/developer-huawei/p/16433308.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有