第10天:自适应高度

如果我们想在3列布局的最后加一行页脚,放版权之类的信息。就遇到必须对齐3列底部的问题。在table布局中,我们用大表格嵌套小表格的方法,可以很方便对齐三列;而用div布局,三列独立分散,内容高低不同,就很难对齐。其实我们完全可以嵌套div,把三列放进一个DIV中,就做到了底部对齐。下面是实现例子(白色背景框模拟一个页面):

Body
这里是#mainbox { MARGIN: 0px; WIDTH: 580px; BACKGROUND: #FFF; }包含了#menu,#sidebar和#content

这里是#content{ FLOAT: right; MARGIN: 1px 0px 2px 0px; PADDING:0px; WIDTH: 400px; BACKGROUND: #E0EFDE;}

这里是主要内容,根据内容自动适应高度

这里是主要内容,根据内容自动适应高度

这里是主要内容,根据内容自动适应高度

这个例子的页面主要代码如下:

<div id="header"></div>
<div id="mainbox">
    <div id="menu"></div>
    <div id="sidebar"></div>
    <div id="content"></div>
</div>
<div id="footer"></div>

具体样式表都写在相应版块里了。重点在于#mainbox层嵌套了#menu,#sidebar和#content三个层。当#content的内容增加,#content的高度就会增高,同时#mainbox的高度也会撑开,#footer层就自动下移。这样就实现了高度的自适应。

另外值得注意的是:#menu和#content都是浮动在页面右面"FLOAT: right;",#sidebar是浮动在#menu层的左面"FLOAT: left;",这是浮动法定位,还可以采用绝对定位来实现这样的效果。

这个方法存在另一个问题,就是侧列#sidebar的背景无法百分之百。一般的解决办法就是用body的背景色来填充满。(不能使用#mainbox的背景色,因为在Mozilla等浏览器中#mainbox的背景色失效。)

好了,主要的框架已经搭建完毕,剩下的工作只是往里面添砖加瓦。如果你希望尝试其他布局,推荐看看以下文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`::-webkit-scrollbar`伪元素可以用来选择滚动条元素,并设置其样式,但是它不能让滚动条自适应大小。要让滚动条自适应大小,可以使用`::-webkit-scrollbar`伪元素的`width`属性和`height`属性来设置滚动条的宽度和高度。 具体步骤如下: 1. 首先,为滚动条元素设置一个基础样式,例如: ```css ::-webkit-scrollbar { background-color: #f0f0f0; width: 10px; height: 10px; } ``` 在上面的样式中,我们将滚动条的背景颜色设置为灰色,宽度和高度都设置为10px。 2. 接着,可以使用CSS的`calc()`函数和`100%`单位来计算滚动条的宽度和高度,例如: ```css ::-webkit-scrollbar { background-color: #f0f0f0; width: calc(100% - 20px); height: calc(100% - 20px); } ``` 在上面的样式中,我们使用`calc()`函数计算滚动条的宽度和高度,减去了一个20px的边框宽度,这样就可以让滚动条自适应大小。 3. 最后,可以为滑块和轨道等滚动条的不同部位设置样式,例如: ```css ::-webkit-scrollbar { background-color: #f0f0f0; width: calc(100% - 20px); height: calc(100% - 20px); } ::-webkit-scrollbar-thumb { background-color: #007bff; } ::-webkit-scrollbar-track { background-color: #e9ecef; } ``` 在上面的样式中,我们为滑块设置了蓝色的背景颜色,为轨道设置了灰色的背景颜色。 需要注意的是,只有Chrome和Safari浏览器支持`::-webkit-scrollbar`伪元素。如果需要在其他浏览器中实现滚动条自适应大小,可以使用一些第三方库或者自定义滚动条的插件来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值