• 技术文章 >web前端 >css教程

    css中内容过长怎么解决

    王林王林2020-03-26 10:00:22转载1284

    大家在写css的时候,肯定有过忘记设计里面存在的临界的情况。举个例子来说吧,当内容的长度超过了我们的期望值,我们也无法解释其中的可能性,页面的设计很可能会因此而崩掉。我们不能保证css总是会按照我们期望的那样工作,但至少我们可以用不同类型的内容来测试,以减少这种情况的发生。

    具体情况如下:

    一个右侧/左侧有小图标的按钮

    这是一个手风琴效果的开关按钮。按钮右侧有一个小图标用来强调它是可点击的。然而当按钮的区域不够长的时候,按钮上的文字会盖住图标。当我们没有考虑到较长内容的时候这种情况就可能发生。

    我们可以在右侧增加足够的padding值来适应图标的大小

    .button {
      padding-right: 50px;
    }

    注意我们是如何增加padding值来给图标创造出一块安全的显示区域的,现在我们可以确定按钮的布局不会再被破坏了。

    (相关教程推荐:CSS教程

    输入占位符

    当在我们的论坛使用浮动标注模式的时候,特别是按钮在右侧的这种情况,我们需要充分的测试来避免因为占位符过长而导致的问题。

    一个解决办法是给按钮添加 position: relative,这样会让按钮覆盖在占位符上层。

    长名字

    在这个设计中,图片向左浮动,右侧有作者名字的信息。当右侧的信息长度过长的时候会发生什么呢?毫无疑问布局会崩掉。

    这里的问题是我们只向左浮动了图片,使得作者的名字移动到贴着它,但是这只会在作者名字长度较短的时候才会表现良好。

    为了使页面布局的适应性更强,我们需要给这两个元素都增加 width。更推荐的方式是使用flexbox,更适合这样的小型组件。

    文章内有长链接/单词

    有时文章内会包含该一些很长的超链接或者单词,当在视窗很宽的时候可能不会造成问题。但是对于一些尺寸较小的设备,诸如手机或平板电脑,这可能会产生烦人的横向滚动条。

    对于这个问题我们有两个解决方案:

    (1)使用CSS word-break

    .article-body p {
      word-break: break-all;
    }

    word-break属性在不同的浏览器内表现不太一样,因此在使用的时候需要充分测试。

    (2)给外层元素添加overflow和 text-overflow

    .article-body p {
      overflow: hidden;
      text-overflow: ellipsis;
    }

    这个方案对于过长的链接比较友好,对于长单词,我推荐使用 word-break。

    过长的文章标签

    当我们放置一个文章标签在卡片上,我们最好只通过设定它的padding来确定它的大小。当标签的内容过长的时候,写死高度和宽度可能会造成布局崩掉。

    也可以给标签设定一个最小的宽度,当对padding包裹的标签内容元素使用min-width属性时,宽度是动态变化的,问题就解决了。

    带有固定链接的段落头

    这个例子是在段落标题的右侧有一个‘view more’链接。有几种不同的方式来编写CSS,其中一种是对链接使用绝对定位。

    当标题过长的时候可能会造成一些问题,一个更好的解决办法是使用flexbox布局,这样的话当没有足够空间的时候会自动将链接挤到下一行去。

    .header-2 {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
    }

    上面这个技巧被称呼为'对齐移动包裹'。

    推荐视频教程:css视频教程

    以上就是css中内容过长怎么解决的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:脚本之家,如有侵犯,请联系admin@php.cn删除
    专题推荐:css
    上一篇:css如何使用伪元素清除浮动 下一篇:关于css中的类名问题的详细介绍
    Web大前端开发直播班

    相关文章推荐

    • 详解css行内样式、内嵌样式与外部引用样式的使用方法• css中有哪些方法可以实现垂直居中• css实现等高布局有哪些方式• css如何使用伪元素清除浮动
    1/1

    PHP中文网