zoukankan      html  css  js  c++  java
  • 如何解决列表框控件宽度不够的问题

    在设计界面的时候,我们经常会用到类似于列表框、组合框之类的控件,他们可以显示一系列的选项。但有一个常见的问题就是:如果列表项的文本长度超过了控件的宽度,那么就只能看到一部分内容。针对这个问题,该如何解决了?

    我们分别以windows程序和web程序为例来讲解(前提是,组合框的宽度不允许放大)

    下面这个图演示了如果列表项的文本宽度不大于控件宽度时的样子,这是正常的

    image

    下面这个图演示了如果列表项的文本宽度大于控件宽度时的样子,这时会有一部分文本是看不到的

    image

    那么如何解决这个问题呢?我们一般比较简单的做法是设置控件的一个特殊的属性:DropDownWidth,例如

    image

    这样的话,再运行窗口的时候,就看到了如下的效果

    image

    根据经验,我们觉得实现了如上效果,绝大多数情况下用户能感觉到更加舒适。但是同样的需求,换到web程序里面就没有那么简单了,因为web页面到了客户端浏览器的时候全部是HTML标记。而且也找不到那个所谓的DropdownWidth属性了。

    比较好的思路是用Tooltip来帮助用户了解到当前这一行的全部内容。

    第一步:把下面的脚本,保存为一个js文件,例如DropdownTooltip.js,你可以选择放在网站任意目录下,我们这里是把它放在根目录下

    window.onload = showdropitem;
    function showdropitem()
    {
        var el = document.getElementsByTagName("select");
        for(i=0;i<el.length;i++)
        {
            for(j=0;j<el[i].options.length;j++)
            {
                el[i].options[j].title = el[i].options[j].text;
            }
        }
    }

    第二步:在需要该效果的页面的HEAD里面添加以下引用

    <head runat="server">
        <title>无标题页</title>
        <script src="DropdownTooltip.js" type="text/javascript"></script>
    </head>

    然后,你就可以看到下面这样的效果

    image

  • 相关阅读:
    XSLT语法 在.net中使用XSLT转换xml文档示例
    .Net那点事儿系列:System.IO之Stream
    javaWeb 控制层互相调用的两种方案
    eclipse 被选中的内容,无法被输入的新内容替换掉
    notepad++ 多行编辑(列编辑)
    Ajax & PHP 边学边练 之四 表单
    Ajax & PHP 边学边练 之五 图片处理
    Ajax & PHP 边学边练 之二 实例
    Ajax & PHP 边学边练 之一 Ajax基础
    Ajax & PHP 边学边练 之三 数据库
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1255411.html
Copyright © 2011-2022 走看看