当前位置: 首页 > 知识库问答 >
问题:

列表名称用可见滚动条断开

花阳秋
2023-03-14

这个下拉列表有点麻烦。http://jsfidle.net/vnr0rbuu/2/

如果你使用你的轨迹板或苹果鼠标,你有隐形滚动条默认,它为它工作!但是,如果你使用另一个鼠标或者一台PC,你的每个滚动条都是可见的,这里我的li没有正确地应用我的内联块的样式。

知道吗?

我得HTML:

    <ul class="app-dropdown">
        <li class="app">
            <ul class="app-list">
                <li class="app-name">
                    <p>Android Application With a real long name</p>
                </li>
                <li class="app-icon">
                    <img src=""/>
                </li>
            </ul>
        </li>
        <li class="app">
            <ul class="app-list">
                <li class="app-name">
                    <p>Fucking shit</p>
                </li>
                <li class="app-icon">
                    <img src=""/>
                </li>
            </ul>
        </li>
    </ul>

和我的CSS:


    .app-dropdown {
        display: block;
        position: absolute;
        min-width: 160px;
        max-width: 300px;
        max-height: 350px;
        margin: 15px;
    }

        .app {
            display: block;
            padding: 15px 25px;
            border-bottom: 1px solid #F4F4F4;    
            vertical-align: middle;
            text-align: right;

        }

            .app-list {
                display: inline-block;
            }
            .app-name {
                padding-right: 5px;
                display: inline-block;
                vertical-align: middle;
            }
                .app-name p { /* Truncate long name */
                    max-width: 150px;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                }
            .app-icon {
                display: inline-block;
            }
                .app-icon img {
                    border-radius: 3px;
                    display: inline-block;
                    vertical-align: middle;
                }

共有1个答案

诸葛文博
2023-03-14

好的。真快,我希望我有更多的时间向你解释这件事。注意如何使用HTML是很重要的。这是一种标记语言。如果说internet是一个信息的集合,那么HTML就是一种标准化的分类方法,它将什么文本是什么类型的信息。正确使用它。对于仅为单个列表的UI,列表中的列表是没有意义的。下面是一些更合适的标记。

HTML

<ul class="app-dropdown">
  <li>
      <label>Android Application With a real long name</label>
      <img src="http://cl.ly/image/3I2I2a0i3Z2g/overview-3.png"/>
  </li>
  <li>
      <label>Fucking shit</label>
      <img src="http://cl.ly/image/3I2I2a0i3Z2g/overview-3.png"/>
  </li>
  <li>
      <label>Short Name</label>
      <img src="http://cl.ly/image/3I2I2a0i3Z2g/overview-3.png"/>
  </li>
  <li>
      <label>Short Name</label>
      <img src="http://cl.ly/image/3I2I2a0i3Z2g/overview-3.png"/>
  </li>
  <li>
      <label>Short Name</label>
      <img src="http://cl.ly/image/3I2I2a0i3Z2g/overview-3.png"/>
  </li>
  <li>
      <label>Short Name</label>
      <img src="http://cl.ly/image/3I2I2a0i3Z2g/overview-3.png"/>
  </li>
  <li>
      <label>Short Name</label>
      <img src="http://cl.ly/image/3I2I2a0i3Z2g/overview-3.png"/>
  </li>
  <li>
      <label>Short Name</label>
      <img src="http://cl.ly/image/3I2I2a0i3Z2g/overview-3.png"/>
  </li>
  <li>
      <label>Very long long long app name</label>
      <img src="http://cl.ly/image/3I2I2a0i3Z2g/overview-3.png"/>
  </li>
</ul>

下面是您的CSS。我已经添加了一些内联评论,但请谷歌我正在做的一切。搜索mdn 以查看关于HTML/CSS/JS代码的非常好的文档(例如https://developer.mozilla.org/en-us/docs/web/css/calc)。

此外,您还可以使用caniuse.com检查平台对新事物的支持(例如http://caniuse.com/#search=calc)。

CSS

* { margin:0; padding:0 }

body {
  font-family: "Open Sans", sans-serif;
}

ul {
  /* this should only ever be applied to ul elements */
  list-style: none;
}

.app-dropdown {
    min-width: 160px;
    max-width: 300px;
    /* your height presumably will not change so
       you are only adding complexity by giving it
       a min-max. */
    height: 350px;

    margin: 15px;

    border: 1px solid #d7d7d7;
    border-radius: 4px;
    box-shadow: 0 6px 10px rgba(0,0,0,.125);

    overflow: hidden;
    overflow-y: scroll;
}

.app-dropdown li {
  /* display:block prevents list items from flowing
     horizontally with the .app-dropdown is very wide
     or list items very narrow */  
    display: block;    
    white-space: nowrap; /* look this up on mdn */
    padding: 15px 25px;
    /* google box-sizing. it’s needed for the label
       width calculation below. */  
    box-sizing: border-box;
    border-bottom: 1px solid #eee;
    text-align: right;
    width: 100%;
}

.app-dropdown label {
    padding-right: 5px;
    display: inline-block;
    vertical-align: middle;

    /* Truncate long name */
    /* width == available space minus width of image */
    width: calc(100% - 32px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-dropdown img {
    border-radius: 3px;
    display: inline-block;
    vertical-align: middle;
}

最后,使用一个演示平台,在您键入时自动更新。Jsbin、CodePen、Dabblet都比JsFiddle好,但还有很多。

演示:http://jsbin.com/luviya/2/edit

 类似资料:
  • 问题内容: 当用户访问网页时(当页面内容不足以触发滚动条激活时),使浏览器的垂直滚动条保持可见状态需要什么CSS? 问题答案: html { overflow: -moz-scrollbars-vertical; overflow-y: scroll; } 这使滚动条始终可见,并且仅在需要时才处于活动状态。 更新:如果上述方法不起作用,则仅使用此方法即可。

  • 我正在制作一个网站,我认为导航栏会导致较小的设备太大。我发现了如何使它可滚动,但我不喜欢它旁边显示一个新的滚动条。我怎样才能让它隐形?

  • 我有一个类可以画一些非常简单的图形,比如直线、圆和矩形。线条可以动态扩展,有时当它们扩展到超出分辨率时,如果没有滚动条,就无法看到。因此,我已经将JScrollPane添加到JFrame中,但不幸的是,尽管已经调用了布局管理器,但滚动条还是无法滚动。 这是我所拥有的:-一个绘制组件(线条、矩形、圆形)的类-一个设置JFrame/JScrollPane的类 这是我的GUI类的摘录代码: 通过上面的代

  • 问题内容: 当我有一个带有可滚动内容的网页时。使用css属性“ overflow:auto”或“ overflow:visible”,滚动条在桌面浏览器上可见,但是当我在移动浏览器上打开页面时,滚动条仅在尝试滚动时出现。有没有一种方法可以使滚动条在移动设备上始终可见?我尝试了一些JQuery库,但是都没有用。 html代码是微不足道的,我有一个带有IFrame的可滚动div: CSS: 问题答案:

  • 我有一个弹出对话框,其中有一个带有项目列表的表。如果项目超过10个,则显示滚动条。现在,当我想检索整个列表(比方说17个项目的列表)并获取它们的名字时,我只得到了10个名字,其余的都是空的。列表中的最后一个元素没有任何不同的东西(比如'lastid'div左右)。所以我想我应该只是滚动和获得其余的,但任何滚动方法都不对我工作\。我尝试了和您还有其他想法吗?

  • 问题内容: 我有麻烦在HTML5中,我有10000行,以显示我在使用PHP的值,我填充从MySQL,由于某种原因,我看不到任何滚动条,我试图设置和,但没有帮助。请帮我! 问题答案: 不幸的是,使用datalist属性并不能做很多事情。数据列表当前不支持任何CSS样式,并且特定的视觉特征是特定于浏览器的。某些浏览器可能选择为长列表添加滚动条。 如果这是不可接受的,则可能必须忘记数据列表,并通过Jav