css 超过高度滑动条

html-css08

css 超过高度滑动条,第1张

<em class="no1"></em>

<em class="no2"></em>

<em class="no3"></em>

<em class="no4"></em>

<em class="no5"></em>

依次下来到no10

这样的话不用修改css

另一种办法就是不用给em加class了

直接给外面.list设置一个大的背景图片

有不明白的问我

大家都知道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}

告诉你一个非常好用的css样式,特别好用

box-sizing: border-box

即使加了padding或者margin属性都会有奇效哦

另外,你上面的滚动条改为overflow: auto

至于高度百分比问题,需要设置一下:

html,body{height:100%}

而且,你所设置80%高度的标签父级标签也要设一下,我随便写了一个案例,你看看,本来加了padding后实际显示的高度会大于设置的高度,但是加了box-sizing: border-box后,显示的高度还是50%

<style type="text/css">

html,body{ height:100% margin:0 padding:0}

</style>

</head>

 

<body>

 <div style=" height:100% background:red">

  <div style=" height:600px background:blue">

   <div style=" height:50% background:green padding:50px overflow:auto box-sizing: border-box">

    <div style="height:1000px background:black color:white">这是内容部分</div>

   </div>

  </div>

 </div>

</body>