首页 > 其他分享 >css--实现一个文字少时居中,文字换行时居左的样式

css--实现一个文字少时居中,文字换行时居左的样式

时间:2023-04-27 21:33:43浏览次数:56  
标签:文字 鸿星 防滑 -- 换行 尔克 耐磨 css

css--实现一个文字少时居中,文字换行时居左的样式

 

前言

  最近群里的小伙伴去面试,遇到这样一个问题,面试官问:"用 css 对一行文字进行布局,当文字不够换行的时候,这行文字要居中显示,当文字出现换行的时候,这行文字要靠左显示。",遇到这样的需求一下束手无策,后来查下资料,哦,原来这样,这里总结一下实现的具体方法。

正文

  1.需求分析与使用场景

  具体需求分析:未知文字的长度的时候,当文字的长度小于盒子的宽度的时候,也就是一行可以放的下的时候,文字居中,当文字长度大于盒子宽度的时候,文字要实现自动换行,成为多行文字,此时文字要求左对齐。其实这样的需求在实际开发中也经常遇到,如下:

  2.实现方法

  下面针对文本框部分进行实现,不再添加图片样式。

  (1)通过行内样式实现

复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        .wrap {
            margin-top: 10px;
            width: 200px;
            height: 100px;
            padding: 5px;
            background-color: skyblue;
            text-align: center;
        }
        .content {
            display: inline-block;
            text-align: left;
            word-break: break-all;
        }

    </style>
</head>
<body>
    <div class="wrap">
        <span id="content" class="content">鸿星尔克</span>
    </div>
    <div class="wrap">
        <span id="content" class="content">鸿星尔克板鞋2021夏季新款红星男鞋防滑耐磨休闲时尚经典涂鸦滑板鞋低帮旅游鞋</span>
    </div>
    <div class="wrap">
        <span id="content" class="content">鸿星尔克ERKE 男防滑耐磨休闲跑步鞋运动鞋</span>
    </div>
</body>
</html>
复制代码

  实现效果如下:

  上面的代码首先在外层包含框wrap中设置 text-algin:center;使得子元素能相对于父元素居中,然后子元素设置 display:inlne-block; 使得行内元素转化为行内块元素,此时可以给行内块设置 text-algin:left;使得文字在容器中放不下的时候出现换行居左。

  (2)通过table表格实现

复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        .wrap {
            margin-top: 10px;
            width: 200px;
            height: 100px;
            padding: 5px;
            background-color: skyblue;
        }
        .content {
            display: table;
            margin: 0 auto;
            word-break: break-all;
        }

    </style>
</head>
<body>
    <div class="wrap">
        <span id="content" class="content">鸿星尔克</span>
    </div>
    <div class="wrap">
        <span id="content" class="content">鸿星尔克板鞋2021夏季新款红星男鞋防滑耐磨休闲时尚经典涂鸦滑板鞋低帮旅游鞋</span>
    </div>
    <div class="wrap">
        <span id="content" class="content">鸿星尔克ERKE 男防滑耐磨休闲跑步鞋运动鞋</span>
    </div>
</body>
</html>
复制代码

  实现效果如上,这段代码是通过了给子元素设置了display:table;

  (3)利用图层覆盖解决

复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        div,span{
            padding: 0;
        }
        .wrap {
            margin-top: 10px;
            width: 200px;
            height: 100px;
            padding: 0 5px;
            background-color: skyblue;
            position: relative;
        }
        .content {
        }
        .hide{
            position: absolute;
            text-align: center;
            background: skyblue;
            overflow: hidden;
            height: 20px;
            left: 0;
            top: 0;
            width: 100%;
        }
    </style>
</head>
<body>
    <div class="wrap">
        <span  class="content">鸿星尔克</span>
        <span  class="hide">鸿星尔克</span>
    </div>
    <div class="wrap">
        <span  class="content">鸿星尔克板鞋2021夏季新款红星男鞋防滑耐磨休闲时尚经典涂鸦滑板鞋低帮旅游鞋</span>

        <span  class="hide">鸿星尔克板鞋2021夏季新款红星男鞋防滑耐磨休闲时尚经典涂鸦滑板鞋低帮旅游鞋</span>
    </div>
    <div class="wrap">
        <span  class="content">鸿星尔克ERKE 男防滑耐磨休闲跑步鞋运动鞋</span>

        <span  class="hide">鸿星尔克ERKE 男防滑耐磨休闲跑步鞋运动鞋</span>
    </div>
</body>
</html>
复制代码

  效果如下:

  上面这段代码应该比较容易理解,但实现起来复杂,主要是重复写两次一样的文字,都属于行内元素,给hide的元素设置高度,当高度不够的时候设置隐藏溢出部分,并设置绝对定位,用于显示第一行数据,实现第一行居中效果,然后剩下行的显示content的中的效果,最终合成想要的效果图。这样实现起来复杂但是思路最清晰。

写在最后

   以上就是本文的全部内容,希望给读者带来些许的帮助和进步,方便的话点个关注,小白的成长之路会持续更新一些工作中常见的问题和技术点。

标签:文字,鸿星,防滑,--,换行,尔克,耐磨,css
From: https://www.cnblogs.com/ministep/p/17360274.html

相关文章

  • HR:就没见过这么离谱的要求
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!春招即将结束,校招人们现在应该都有丰富的求职经验了吧~与求职经历相对应的,应该是大家伙辨别一些奇妙招聘方的经历!求职路上,想必大家都会遇到一些离谱要求。不过今天,学长在热搜看......
  • P1345 [USACO5.4]奶牛的电信Telecowmunication 题解
    一、题目描述:n个点,m条边,给定起点s和终点t,求最少删去几个点后,s和t不连通。注意,s和t不能删掉。1<=n<=100,1<=m<=600; 二、解题思路:刚刚学了最大费用流,知道最大流等于最小割。但此题割的不是边,是点。我们需要将将割点转化为割边。把一个点切成两半......
  • HummerRisk V1.0 安装部署指南
    HummerRiskv1.0开始采用springcloud微服务架构,微服务架构更加易于扩展、易于容错、灵活部署,但是需要注意的是HummerRiskv0.x版本无法直接升级到v1.0,如需使用HummerRisk请手动安装最新版本。环境要求全新安装的Linux(x64)需要连接互联网使用root用户执行1.操作系统版......
  • 变量乱变问题(求大佬指点!!!)
    环境:AMD,win10_x64,cygwin64,vscode,coderunner与预期不符的代码:#include<string.h>#include"stdio.h"typedefcharElemType;typedefstructBiTNode{ElemTypedata;structBTNode*lchild;structBTNode*rchild;}BTNode,*BiTree;BTNod......
  • TK Mall跨境电商平台 再获3亿美元融资,巩固全球领先地位
    2022年6月27日,TKMall宣布完成3亿美元的融资,再次成为全球跨境电商平台中最大的融资之一。本轮融资由多家顶尖风投机构共同参与,包括美国顶级风投公司、中国著名投资机构、日本最大的风险投资公司等。这是TKMall迎来的第二轮融资,也是TKMall快速发展的有力证明。TKMall是一家高科技......
  • TK Mall:以技术创新与数据分析驱动的全球跨境电商平台
    2022年,TKMall在新加坡成立,是一家以技术创新和数据分析为驱动力的全球跨境电商平台,该平台凭借其高质量的服务和领先的技术优势,在全球范围内迅速崛起。作为一家新兴的跨境电商平台,TKMall主打移动电商业务,其90%的卖家来自中国,同时也是日韩、东南亚最受TikTok主播青睐的带货选品移动......
  • TK Mall全球跨境电商平台费者带来了全新的购物体验!
    当今时代,随着跨境电商的不断发展,越来越多的企业开始进入这个领域,争夺市场份额。作为一家高科技独角兽公司,TKMall在这个领域里独树一帜,为消费者带来了全新的购物体验。TKMall成立于新加坡,作为一家带货选品移动电商平台,其产品种类丰富,价格实惠,深受广大消费者的青睐。据悉,90%的卖家......
  • JavaSE基础大总汇(呕心沥血之作)
    无论你是一名Java初学者还是有一定编程基础的开发者,了解JavaSE的知识都是非常有必要的,因为JavaSE是Java编程的基础,掌握好JavaSE的各种知识点对于后续的Java开发非常重要。在此博客中,我们将介绍JavaSE的各种知识点,帮助你建立深厚的Java编程基础。一、初识Java1.1Java发展史Java语言......
  • 核心业务系统建设是银行数字化转型的根本环节
    4月25日下午,中电金信副总经理况文川在中国国际金融展现场对经济观察网记者表示,在银行业务线上化、流程敏捷化、应用智能化的趋势下,数字化转型已成为业内共识,基于上述背景,核心业务系统建设是银行数字化转型的根本环节,银行传统核心重构成为必然。中电金信是中国电子旗下成员企业,以咨......
  • 2、数组问题最常见
    1、二分查找法二分查找法(Java实现)template<typenameT>intbinarySearch1(Tarr[],intn,Ttarget){//在[l...r]的范围里寻找targetintl=0;intr=n-1;intmid;//当l==r时,区间[l...r]依然是有效的while(l<=r)......