实例讲解CSS 实现元素较宽不能被完全展示时将其隐藏功能

本文主要和大家分享css 实现元素较宽不能被完全展示时将其隐藏功能,遇到一个需求,需要实现的样式是固定宽度的容器里一排显示若干个标签,数量不定,每个标签的长度也不定。当到了某个标签不能被完全展示下时则不显示。大致效果如下,标签只显示一排,多了放不下了就不显示了。 

 

实例讲解CSS 实现元素较宽不能被完全展示时将其隐藏功能

标签部分 DOM 结构如下 

      Cooking    Coding    Travel    Photography    Reading

登录后复制

乍一看这个问题很简单嘛,本着样式问题尽量不用 js 解决的原则,写了下面这堆样式,完美实现效果。可以看出来最后两个 .label 由于会超出 .labels 的宽度,被折到了下一行,然后又被 .labels 的 overflow: hidden 隐藏。

.label {    display: block;    height: 24px;    line-height: 24px;    padding: 0 10px;    background-color: #e1ecf4;    border-radius: 12px;    font-size: 14px;    flex-shrink: 0; // label 不收缩,长度为内容长度    & + .label {        margin-left: 5px;    }}.labels {    height: 24px; // 一行 label 的高度    overflow: hidden;    display: flex;    flex-wrap: wrap;    justify-content: flex-start;}

登录后复制

但是刚高兴没多久,突然发现了问题,如果第一个标签的长度就超出了容器的宽度的话,并不会被整个隐藏,只是内容被截断了,像下面这样
 

立即学习“前端免费学习笔记(深入)”;

实例讲解CSS 实现元素较宽不能被完全展示时将其隐藏功能 

这个问题困扰了我好一阵时间,一直在想 css 里有什么属性可以在子元素宽度超过父容器时把它整个隐藏(而非仅仅隐藏超出父容器的部分)。各种思索都没有结果正准备放弃万分纠结到底用不用 js 实现时, 突然冒出来一个想法 既然现在被折行的元素可以被隐藏掉,那让第一个标签也折行不就行了嘛 。

那么怎么让第一个标签折行呢,想到一个比较 trick 的方法,让它不再是第一个元素就可以利用 flex 的特性把它折行了~ 于是,在所有 .label 元素之前,添加了一个 .placeholder 元素只有 1px 宽,高度为 100%。 Inspect 元素的话可以看到确实 .placeholder 元素占据了第一行的位置,实现了我们想要的效果~

实例讲解CSS 实现元素较宽不能被完全展示时将其隐藏功能 

其实利用这个想法,使用 float 也可以实现同样的效果。虽然有点 trick 并且还是借助了一个额外的 DOM 元素,不过效果还是完美实现了的~

相关推荐:

CSS3中transform功能

CSS3中transform功能

CSS3中transform功能

以上就是实例讲解CSS 实现元素较宽不能被完全展示时将其隐藏功能的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2900750.html

(0)
上一篇 2025年3月11日 00:02:22
下一篇 2025年3月6日 16:49:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • css 通配符用法总结

    css通配符的意义说明,学习css的朋友,会经常用的着css的通配符,本章就讲讲css的通配符。 css学习笔记一 登录后复制 通配a,table,p下所有文字的字体大小. 后边的a,table,p起到限定作用. 登录后复制 通配body下…

    编程技术 2025年3月11日
    200
  • 纯css实现树形结构方法教程

    本文主要介绍了纯css实现树形结构的示例代码的相关资料,使用css和html就可以将一个多级无序列表的节点展现成树状结构,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 纯css实现属性结构 …

    2025年3月11日
    200
  • CSS选择符之子代选择符详解

    后代选择符用于选取一个标签的所有后代,包括子代和孙辈等;而子代选择符只选取指定父辈的子代标签(指定标签元素的第一代子元素)。本文主要介绍了详解css选择符之子代选择符的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小…

    2025年3月11日 编程技术
    200
  • 四种引入css的方式总结

    本文主要为大家分享一篇引入css的四种方式总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧,希望能帮助到大家。 1.内联式引用:直接用在标签上,但维护成本高 style=’font-size:16px;color:#00…

    编程技术 2025年3月11日
    200
  • 使用CSS 给表单必选项添加星号实例分享

    在制作网页表单的时候,如果一个选项是必填的,通常会给选项添加一个星号,下面通过给大家分享使用css 给表单必选项添加星号的实现方法,需要的朋友参考下吧,希望能帮助到大家。 在制作网页表单的时候,如果一个选项是必填的,通常会给选项添加一个星号…

    2025年3月11日
    200
  • 使用html和css实现康奈尔笔记模板

    本文主要介绍了使用html和css实现康奈尔笔记(5r笔记)模板的相关资料,需要的朋友可以参考下,希望大家可以根据html和css实现康奈尔笔记模板的思路更好的完成自己的项目。 缘起 人家都说 康奈尔笔记 法,很好用呢,能抵抗遗忘曲线,让你…

    编程技术 2025年3月11日
    200
  • Css深刻理解width:auto的用法实例分享

    本文主要介绍了css深刻理解width:auto的用法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 前言 看了我上篇文章的人可能觉得我小题大做,css2有什么好看的?那么我就参考…

    编程技术 2025年3月11日
    200
  • css网页的几种布局实例

    本文主要介绍了浅谈css网页的几种布局的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 2018年已经过了一周,总结一下2017年在公司wiki上写的一篇关于css布局的知识,当时也…

    2025年3月10日 编程技术
    200
  • css进度条的文字根据进度变化实现方法

    本文主要介绍了css 进度条的文字根据进度渐变的示例代码,介绍了进度条里面的文字需要根据进度的长度而变化,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 需求 1.进度条里面的文字需要根据进度…

    2025年3月10日
    200
  • 纯CSS实现下拉菜单方法教程

    本文主要介绍了纯css实现下拉菜单的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 将下拉菜单的ul高度设置为0,并且超出部分隐藏掉。 设置下拉菜单的高度添加过渡效果,高度为auto…

    2025年3月10日
    200

发表回复

登录后才能评论