CSS文字大于DIV宽度时出现滚动条

html-css010

CSS文字大于DIV宽度时出现滚动条,第1张

应该这样写:

容器{overflow-x:autowhite-space:nowrap}

(兼容IE6、IE7、FF)

在这里只用overflow是不够的,因为当文字长度超出容器宽度时浏览器会自己将文字换行,横向的滚动条并不会出现(除非是连接的英文字母并且字母之间没有空格)。在这里必须加上white-space:nowrap(nowrap :强制在同一行内显示所有文本,直到文本结束或者遭遇br对象。)

首先overflow:scoll的意思是当页面内容超出一屏(或者你给body设置的宽度)时显示滚动条的意思。

当没有超出时,当然只有X和Y的轴。

问题出在,背景图片不能设置大小。HTML不会计算出背景图片的大小,这和直接插入的图片是有区别的。

解决办法

1.把body的宽度和高度,和图片真实大小设置为一致。

2.就像你说的body里包的一个div,你给那个div设置的宽度和高度和图片一致即可。

另外题外补充,overflow还有两个其它参数。只显示Y轴或者X轴。不会overflow的使用在IE和FF中是有明显差异的。

如果仍没解决,百度Hi或者站内消息可以找到我

大家都知道css中<ul>元素中的各条目<li>默认都是纵向排列的,我们需要定义CSS来让其横向排列起来并且超出屏幕可以滑动。因为本人是html小白 查了资料才实现下面GIF图的效果。(有什么更好的方法或者有写的不对的地方 希望大神们多多指出,与君共勉)

效果GIF图:

第一步 ul 中的css设置 <ul id = "list"></ul>

#list { overflow-x: auto//设置x轴可滑动 list-style: none//去掉li上的小点 white-space:nowrap//元素不换行 width: auto(宽度) }

第二步 li中的css设置 <li class = "item">

.item { margin-left: 20px//每个li设置间距为20px display: inline-block//让所有的li在一行 注意这里不能用float:left 因为设置float后里超过一屏后会自动换行 }

先介绍一下上面的重要的css中的属性作用,大家也可以去w3scholl去参考学习。

这只是在x轴上的滑动 有一个相对的是overflow-y 只在y轴上滑动

width是我们最常用的属性,但是我常用的为lenght和% 忽略了auto这个属性 我们大可不惜自己去计算宽度,使用auto可以自适应宽度。

使用用flex-box布局

#list { displey:-webkit-flexdisplay: flex-webkit-flex-flow:row nowrap//设置排列方式为横向排列,并且超出元素不换行 flex-flow:row nowrapoverflow-x: autolist-style: none}