zoukankan      html  css  js  c++  java
  • 由overflow-x:scroll产生的收获

    我们都知道float:left属性会让元素向左浮动,如果用一个div将几个左浮动的li包起来,是不是div的宽度被li撑得很长很长呢,代码:

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                
                ul {
                    border: 1px solid #1FC195;
                    list-style: none;
                    margin: 0;
                    padding: 0;
                    background-color: #CCCCCC;
                }
                
                ul li {
                    padding: 0;
                    margin: 0;
                    float: left;
                    width: 300px;
                    height: 600px;
                    background: #8FBC8F;
                    margin: 5px;
                }
            </style>
        </head>
    
        <body>
            <div class="over-x">
                <ul>
                    <li>test1</li>
                    <li>test2</li>
                    <li>test3</li>
                    <li>test3</li>
                    <li>test3</li>
                    <li>test3</li>
                    <li>test3</li>
                </ul>
            </div>
        </body>
    
    </html>

    但是实际的显示效果却是:

    可以看见div的宽度不是被div撑得很长,二是直接换行了,

    由此对float:left属性进行了一些总结:当给元素用了float属性,元素会自动寻找最近一级的父级的宽度,当这个父级的宽度不能满足li所有的宽度和之后就会排到第二行,如果给这个父级足够的宽度之后(一个>=li总和的宽度)便能实现该效果

    这时候要是给那个父级增加一个父级(这个父级给一个较小的宽度,并且设置overflow-x:scroll)便可以再水平方向出现滚动条

    代码:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
            .over-x{
                width:600px;
                overflow:scroll ;
            }
                ul{
                    border: 1px solid #1FC195;
                    list-style: none;
                    margin: 0;
                    padding: 0;
                    background-color: #CCCCCC;
                    overflow-x: scroll;
                    overflow-y: hidden;
                    height: 610px;
                    width:19000px
                }
                ul li{
                    padding: 0;
                    margin: 0;
                    float: left;
                    width: 300px;
                    height: 600px;
                    background: #8FBC8F;
                    margin: 5px;
                }
            </style>
        </head>
        <body>
            <div class="over-x">
                <ul>
                    <li>test1</li>
                    <li>test2</li>
                    <li>test3</li><li>test3</li><li>test3</li><li>test3</li><li>test3</li>
                </ul>
            </div>
        </body>
    </html>

    效果

  • 相关阅读:
    .htaccess中的apache rewrite规则写法详解(未完)
    Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)(未完)
    Linux的单用户模式
    linux proc目录和常用操作
    struts2 中的 addActionError 、addFieldError、addActionMessage的方法
    OGNL和类型转换
    ognl概念和原理详解
    java垃圾回收器
    java堆和栈的区别
    js的call()通俗解释
  • 原文地址:https://www.cnblogs.com/wangrongxiang/p/5784198.html
Copyright © 2011-2022 走看看