解决ul宽度超出div宽度常用解决办法

在设计网页的时候,有时候会遇到ul超出div宽度,遇到这种<ul>宽度超出<div>宽度的时候,通常有两种解决方法:

解决方法1:

给ul一个样式:margin:0px; padding:0px; overflow:hidden;

解决方法2:

给li一个样式: word-break:break-all; word-wrap:break-word;

.ncad {width:1000px;overflow:hidden; margin:0 auto;}
.ncad ul{list-style-type:none;width:100%;margin:0px; padding:0px; overflow:hidden; }
.ncad li{ width:333px; float:left;margin-bottom:2px;}

例子

div中ul li超出宽度隐藏 且li不换行

<style>

        ul

        {

            list-style-type: none;

        }

        li

        {

            float: left;

            display: inline-block;

            display: -moz-inline-stack;

            display: inline;

        }

    </style>

<div style="width: 500px; margin: auto; border: 1px solid red; overflow: hidden;

        line-height: 30px; height: 30px;">

        <span style="float: left"><</span>

        <ul>

            <li>1111111111111111111</li>

            <li>22222222222222</li>

            <li>33333333333333333333</li>

            <li>444444444</li>

        </ul>

        <span style="float: right">></span>

    </div>

 想要实现的是 让li横向排列。当ul的的内容溢出div时隐藏。 并且点击<与>时 可以移动ul 显示出被隐藏的内容。

现在是 给ul li 加上position ul中li内容溢出时 不会换行 但是也隐藏不掉。 不加position 可以隐藏。但是会换行。
求教高手。
------解决方案--------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>无标题文档</title>

    <style>

    ul{margin:0;padding:0;}

    li{list-style:none;}

    .box{width: 500px; margin: auto; border: 1px solid red; overflow: hidden;line-height: 30px; height: 30px; position:relative;}

    .box ul li{float:left;display:inline; vertical-align:top;height:30px;line-height:30px;padding:0 5px;}

    .box ul {position: absolute;}

    .box span{float:left;height:100%;line-height:30px;font-size:16px;background:#ccc;width:30px;text-align:center;}

    .menu{float:left; width:440px;overflow:hidden; height:30px; position:relative;}

   

    </style>

    <script>

    window.onload=function(){

        var oBox=document.getElementById('box');

        var aSpan=oBox.getElementsByTagName('span');

        var oMenu=oBox.getElementsByTagName('div')[0];

        var oUl=oMenu.getElementsByTagName('ul')[0];

        var aLi=oUl.getElementsByTagName('li');

        var iW=0;

        for(var i=0;i<aLi.length;i++)

        {

            iW+=aLi[i].offsetWidth;

        }

        oUl.style.width=iW+'px';

        aSpan[0].onclick=function()

        {

            var iLeft=oUl.offsetLeft+10;

            iLeft>=0&&(iLeft=0);

            oUl.style.left=iLeft+'px';

        }

        aSpan[1].onclick=function()

        {

           

            var iLeft=oUl.offsetLeft-10;

            var maxLeft=oMenu.offsetWidth-oUl.offsetWidth;

            iLeft<=maxLeft&&(iLeft=maxLeft);

           

            oUl.style.left=iLeft+'px';

        }

    }

    </script>

    <body>

    <div class="box" id="box">

        <span class="prev"><</span>

        <div class="menu">

          <ul>

            <li>1111111111111111111</li>

            <li>22222222222222</li>

            <li>33333333333333333333</li>

            <li>444444444</li>

            <li>55555</li>

            <li>6666</li>

            <li>777</li>

          </ul>

      </div>

      <span class="next">></span> </div>

      </body> 

</html>

时间: 2024-09-23 15:25:41

解决ul宽度超出div宽度常用解决办法的相关文章

html表格table的宽度超出页面宽度时如何不改变table宽度(只显示出滚动条)?

问题描述 html表格table的宽度超出页面宽度时如何不改变table宽度(只显示出滚动条)? 问题如题.条件是不能将table的宽度设置为固定值,因为table包含的列数可能每次查询都不同,可能只有一二列,也可能有几十列,要求每一列宽度能够显示其表格的内容(即列的宽度按内容长度显示),如果table宽度没有超出页面宽度就不显示滚动条,也不拉伸表列宽度:如果table宽度超出页面宽度,就显示滚动条,而不压缩表列宽度. 解决方案 http://blog.sina.com.cn/s/blog_66

让超出DIV宽度范围的文字自动显示省略号..._经验交流

div.titleholder { font-family: ms sans serif, arial; font-size: 8pt; width: 100; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }

布局-html 两块div,左侧div固定宽度,右侧div宽度如何填满右侧剩余部分

问题描述 html 两块div,左侧div固定宽度,右侧div宽度如何填满右侧剩余部分 html 两块div,左侧div固定宽度200px,右侧div宽度如何写才能填满浏览器右侧部分(除了calc的方法外) 解决方案 查看这个.http://stackoverflow.com/questions/6487085/two-divs-one-fixed-width-the-other-the-rest 解决方案二: 容器relative定位,200px那个absolute定位,右边的margin-l

css div宽度自动隐藏并且显省略号

<html xmlns="http://www.111cn.net/1999/xhtml"> <head> <title>css div宽度自动隐藏并且显省略号</title> <meta http-equiv="content-type" content="text/html;charset=gb2312"> <!--把下面代码加到<head>与</head&g

jquery实现动态改变div宽度和高度

  这篇文章主要介绍了jquery实现动态改变div宽度和高度,效果非常不错,而且兼容性也很好,有需要的小伙伴可以参考下. 完整代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/x

自适应宽度的div+css示例

自适应宽度的div+css示例 以下是代码:<html> <head> <title>Nice and Free CSS Template 10</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css" media="s

CSS实例教程:img随div宽度自动变化

文章简介:css设置img随div宽度变化自动变化的方法. 说明: 因为屏幕分辨率不同,想实现浏览器中的一个层随浏览器宽度高度的变化而变化,使层始终占浏览器宽度的90%:高度的75%:层中的图片随这个层的变化而变化,相信很多人都在实际的项目中遇到过这个问题,下面是实现这种效果的解决方案: body { text-align:center;} html,body { height:100%;} .div1 { height:75%; width:90%; margin:0 auto; overfl

CSS小结:一行内文本超出指定宽度溢出的处理

css 看到标题你一定很容易就会想到截断文字加"..."的做法.哈哈,就是这样.其实写这篇日志也只是把这样方法做个记录,因为好像还有很多人不记得遇到这样的情况该如何处理. 我们也可以参考52CSS.com以前的文章: CSS对文字溢出时的自动隐藏处理http://www.webjx.com/htmldata/2007-05-05/1178374126.html 如何设置列表(li)超出部分显示省略号http://www.webjx.com/htmldata/2007-05-05/117

PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法

 这篇文章主要介绍了PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法,造成这个问题的原因是PHP上传大小限制为2MB,修改PHP.ini配置即可解决这问题,需要的朋友可以参考下     网站搬家的时候碰到的这个问题,因为数据一直是使用PhpMyAdmin工具来进行备份和恢复的,但是随着网站的数据越来越多,所以数据库也是越来越大,压缩后都还有4M的数据,而在PhpMyAdmin里将数据导入时就出错误提示了. 上图为PhpMyAdmin里的提示"没有接收到要导入的数据.可能是文件名没有