CSS ul 横向滑动并超出屏幕可滑动

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

效果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去参考学习。

overflow-x

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

  • visible 不裁剪内容,可能会显示在内容框之外。
  • hidden 裁剪内容 - 不提供滚动机制。 (和正常的overflow:hidden效果一样)
  • scroll 裁剪内容 - 提供滚动机制。 (不管超过屏幕 一直有滚动条)
  • auto 如果溢出框,则应该提供滚动机制。(只有超出屏幕 才会有滚动条)
  • no-display 如果内容不适合内容框,则删除整个框。 这两个还没有用过
  • no-content 如果内容不适合内容框,则隐藏整个内容。
width

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

  • auto 默认值。浏览器可计算出实际的宽度。
  • length 使用 px、cm 等单位定义宽度。 (用的比较多)
  • % 定义基于包含块(父元素)宽度的百分比宽度。(用的比较多)
  • inherit 规定应该从父元素继承 width 属性的值。
方案二:

使用用flex-box布局
#list { displey:-webkit-flex; display: flex; -webkit-flex-flow:row nowrap; //设置排列方式为横向排列,并且超出元素不换行 flex-flow:row nowrap; overflow-x: auto; list-style: none;}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,806评论 1 92
  • 关于css常见问题,大多是移动端的。 简单的排版规则:条目与条目之间空两行,每条内容部分分段空一行。标点符号全部用...
    苏水儿阅读 5,057评论 0 9
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,805评论 0 2
  • 闲暇时刷手机,看到一句话,感触颇深:“十年前,周围的人,根据你父母的收入对待你;十年后周围的人,根据你的收入对待你...
    波妞521123阅读 547评论 0 1
  • 上篇文章提到当需要扩大应用内存时可以使用多进程,所以IPC也包括同个应用的多进程通信,下面说一下多进程 如何开启多...
    Eric_feng阅读 860评论 0 0