千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:青岛千锋IT培训  >  技术干货  >  css布局之溢出处理

css布局之溢出处理

来源:千锋教育
发布人:qyf
时间: 2023-02-20 17:59:36

  我们先来看个例子,这个容器里有两段文字和一张图片,由于容器的高度小于包含内容的总高度,不能显示全部的内容。此时,我们可以通过鼠标滚轮使容器的内容上下滚动,来查看全貌。

图片 1

  这个效果是如何实现的呢?你一定想到的是 iframe!实际上,通过CSS的溢出样式也能实现这个功能。

  CSS 的 overflow 属性,指定了当一个元素的内容太大,无法容纳在指定区域时,是否要裁剪内容或添加滚动条。overflow 属性有以下值:

  visible - 默认。溢出的内容没有被剪掉。内容会在元素的框外呈现。

  hidden - 溢出的内容被剪切,其余的内容将不可见。

  scroll - 溢出的内容被剪掉了,并且增加了一个滚动条来查看其余的内容。

  auto - 类似于 scroll,但它只在必要时添加滚动条。

  这是我已经制作好的一个页面。div 容器里包含三个段落,分别放置的是两段文本和一张图片。容器设置了背景颜色、内填充和边框。

  在浏览器里预览,内容撑满整个容器,全部显示出来了。

  接下来给外部的 div 容器添加 width: 50%、height: 300px 的样式。

HTML

<div id="overflowTest">

    <p>

      国外某公司呢开发了一款自动找bug的AI程序,但是这个程序“悟道”了!AI“悟道”后解决bug的终极方案就是:没有代码就没有bug,全删!这是一个发生在美国的真实事件,美国版的大众点评,本来想训练AI来消除bug,结果它把所有的内容全部删除了。来看看 软件的更新介绍:

    </p>

    <p>

      <img src="./image.jpeg" alt="" width="600">

    </p>

    <p>

      大概意思就是:我们为本周使用该app遇到问题的用户致歉,我们训练了一个神经网络,来消愁该app的漏洞,但它删除了一切。还好这事发生在国外,要是在国内的互联网公司,这么大的安全事故,又要有一个工程师“祭天”了。

    </p>

  </div>

CSS

#overflowTest {

  background: #4CAF50;

  padding: 15px;

  border: 1px solid #ccc;

}

  我们看,容器的高度虽然小于内容的总体高度,但是容器里的内容还是全部显示了。这说明浏览器在默认情况下, 对容器溢出的部分是完全显示的。

  回到 css 代码,给 div 容器再添加样式 overflow: visible。

  效果是一样的,说明 visible 是 overflow 属性的默认值。

  如果希望把溢出的部分隐藏,需要将 overflow 的值设置为 hidden(注意这个单词读 [ˈhɪdn])。

  果然,溢出的部分隐藏了,此时是无法看到隐藏的内容的。

  如果希望通过滚动条查看隐藏的内容,需要将 overflow 的值设置为 scroll。

图片 2

  这样,就可以通过滚动条来查看全部内容了!

  当然,也可以把 overflow 的值设置为 auto,此时和 scroll 效果一样。

  回到 css 代码,我们将 div 容器的 width 修改为 30%。

  看效果,水平和垂直方向都可以滚动了。

  如果只希望某一个方向滚动,可以采用 overflow-x 和 overflow-y 两个样式属性,它们指定是否只在水平方向或垂直方向上滚动。

  比如,注释掉 overflow: scroll ,添加样式 overflow-y: scroll。

  我们看,此时垂直方向可以滚动,可是水平方向也可以滚动,说明 overflow-y 只能约束垂直方向。

  再添加样式 overflow-x: hidden。

  这回,水平方向就不能滚动了,只有垂直方向可以滚动!

  有时,文字标题或文字内容所在的容器空间有限,不能显示全部内容的时候,会出现一个省略号,示意读者:内容显示不全,可以点击查看详细内容。这个效果如何实现呢?

图片 3

  在 body 里添加一个 h1 元素,填入一些内容。

  在 css 文件里,定义选择器 h1,声明样式 width: 310px,overflow: hidden,white-space: nowrap。让文本在一行上显示,并且溢出的部分隐藏。

  很显然,此时的效果用户体验不好——文字被剪切了。

图片 4

  回到 css 代码,给 h1 再添加一个 text-overflow: ellipsis 样式。ei 累铺赛司

  我们再看,效果实现了!

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

清除浮动是怎么回事?

2023-02-21

客户端向服务器发送请求的过程

2023-02-21

什么是宽高自适应呢?

2023-02-21

最新文章NEW

Java项目中到底该怎么使用线程池?

2023-02-21

Oozie和Azkaban的区别

2023-02-21

如何进行权限控制?

2023-02-21

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>