当前位置:编程学习 > C#/ASP.NET >>

DIV Width:100% Overflow: auto IE出现滚动条

RT.
怎样才能不出现IE滚动条,但是DIV必须在Table里,但是不可以有固定宽度

<HTML>
<DIV style="OVERFLOW: auto; WIDTH: 100%; HEIGHT: 100px">
<DIV 
style="WIDTH: 1500px; HEIGHT: 50px; BACKGROUND-COLOR: ghostwhite"></DIV></DIV>
<TABLE style="WIDTH: 100%">
  <TBODY>
  <TR>
    <TD>
      <DIV style="OVERFLOW: auto; WIDTH: 100%; HEIGHT: 100px">
      <DIV 
      style="WIDTH: 1500px; HEIGHT: 50px; BACKGROUND-COLOR: ghostwhite"></DIV></DIV></TD></TR></TBODY></TABLE></HTML>
--------------------编程问答-------------------- overflow:hidden --------------------编程问答-------------------- <TABLE style="WIDTH: 100%" cellpadding="0" cellspacing="0"> --------------------编程问答--------------------
引用 1 楼 xupeihuagudulei 的回复:
overflow:hidden

IE滚动条
--------------------编程问答-------------------- 关键在于内部div的width=1500px这一点,你的外部div设置overflow=auto就是让超出部分以滚动条方式显示。
但是浏览器显示本身跟屏幕分辨率有关,虽然你外部设置width=100%,但是内部宽度设置过大的话依然会出现滚动条,例如:你屏幕分辨率设置为1440×900,那么浏览器(我的是IE)本身width显示范围应在1420px左右,你不妨设置内部width小于或等于1420px试试,尤其在    
<DIV style="OVERFLOW: auto; WIDTH: 100%; HEIGHT: 100px">
   <DIV style="WIDTH: 1500px; HEIGHT: 50px; BACKGROUND-COLOR: ghostwhite">
   </DIV>
</DIV>
这一块,祝你好运! --------------------编程问答-------------------- ps:overflow:hidden这种方式只是让超出部分hidden,不能从根本解决问题,相反,如果文本内容元素设置过多的话,有可能成为潜在问题,个人拙见。 --------------------编程问答--------------------
引用 4 楼 kevinlee0206 的回复:
关键在于内部div的width=1500px这一点,你的外部div设置overflow=auto就是让超出部分以滚动条方式显示。
但是浏览器显示本身跟屏幕分辨率有关,虽然你外部设置width=100%,但是内部宽度设置过大的话依然会出现滚动条,例如:你屏幕分辨率设置为1440×900,那么浏览器(我的是IE)本身width显示范围应在1420px左右,你不妨设置内部width小于或等于1420p……

其实关键不在于Width=1500px
而是在于Table,外部没有Table的情况下是可以实现的 --------------------编程问答--------------------
引用 2 楼 zengbingling 的回复:
<TABLE style="WIDTH: 100%" cellpadding="0" cellspacing="0">


HTML code没病毒,你先试过可以了,再来发帖 --------------------编程问答--------------------

<DIV style="WIDTH: 100%; HEIGHT: 100px">
<DIV 
style="WIDTH: 1500px; HEIGHT: 50px; BACKGROUND-COLOR: ghostwhite"></DIV></DIV>
<TABLE style="WIDTH: 100%">
  <TBODY>
  <TR>
    <TD>
      <DIV style="WIDTH: 100%; HEIGHT: 100px">
      <DIV 
      style="WIDTH: 1500px; HEIGHT: 50px; BACKGROUND-COLOR: ghostwhite"></DIV></DIV></TD></TR></TBODY></TABLE></HTML>
--------------------编程问答-------------------- 我是不想要IE滚动条,用DIV滚动条代替 --------------------编程问答--------------------
引用 9 楼 hsabout 的回复:
我是不想要IE滚动条,用DIV滚动条代替

啥意思?div滚动条不也是调用浏览器默认样式的滚动条?不想要ie的滚动条却要div滚动条,完全看得一头雾水。。。 --------------------编程问答-------------------- 一个窗口显示所有内容,表头菜单固定,DIV容纳所有内容,超出部分滚动条调节 --------------------编程问答--------------------

<TABLE style="WIDTH: 100%">
  <TBODY>
  <TR>
    <TD>
      <DIV style="OVERFLOW: auto; WIDTH: 1500px; HEIGHT: 100px"></DIV>
    </TD>
  </TR>
  </TBODY>
</TABLE>

不知道服不符合你的要求 --------------------编程问答--------------------
引用楼主 hsabout 的回复:
RT.
怎样才能不出现IE滚动条,但是DIV必须在Table里,但是不可以有固定宽度
--------------------编程问答--------------------

<TABLE style="WIDTH: 100%">
  <TBODY>
  <TR>
    <TD>
      <DIV style="OVERFLOW: auto; WIDTH: 1500px; HEIGHT: 100px"></DIV>
    </TD>
  </TR>
  </TBODY>
</TABLE>

--------------------编程问答-------------------- 发错了,应该是:


<TABLE style="WIDTH: 100%">
  <TBODY>
  <TR>
    <TD>
      <DIV style="OVERFLOW: auto; WIDTH: 100%; HEIGHT: 100px"></DIV>
    </TD>
  </TR>
  </TBODY>
</TABLE>

div的宽度等于table的宽度。例如分辨率为1024*768的显示器,浏览器的宽度就是1024px,table的宽度也是1024px,自然div的宽度也是1024px。那么当内容超过1024px时就会换行,当行数增加到超过100px时就会出现垂直滚动条。 --------------------编程问答-------------------- 只要不超出范围,ie本来就没有滚动条的。
 <DIV style="overflow:scroll; WIDTH: 100%; HEIGHT: 100px"></DIV>
--------------------编程问答--------------------
引用 15 楼 natici 的回复:
发错了,应该是:


HTML code

<TABLE style="WIDTH: 100%">
  <TBODY>
  <TR>
    <TD>
      <DIV style="OVERFLOW: auto; WIDTH: 100%; HEIGHT: 100px"></DIV>
    </TD>
  </TR>
  </TBODY>
</TABLE>


……

<DIV style="OVERFLOW: auto; WIDTH: 100%; HEIGHT: 100px"></DIV>
在DIV中添加内容,就出问题啦 --------------------编程问答--------------------
引用 16 楼 zengbingling 的回复:
只要不超出范围,ie本来就没有滚动条的。
 <DIV style="overflow:scroll; WIDTH: 100%; HEIGHT: 100px"></DIV>

实践出真知

<table><tr><td><DIV style="overflow:scroll; WIDTH: 100%; HEIGHT: 100px"></DIV></td></td></table> --------------------编程问答--------------------
引用 17 楼 hsabout 的回复:
<DIV style="OVERFLOW: auto; WIDTH: 100%; HEIGHT: 100px"></DIV>
在DIV中添加内容,就出问题啦


出了什么问题?我在本地调试没问题啊 --------------------编程问答-------------------- 没看明白~
不出现IE滚动条? <BODY scroll=no> 像这样?
div还是得指定宽度吧,要不然超了宽度连个滚动条都没有。 --------------------编程问答-------------------- 他的div已经有宽度了,100% --------------------编程问答--------------------
引用 9 楼 hsabout 的回复:
我是不想要IE滚动条,用DIV滚动条代替

噢噢噢,我明白鸟,你是不想要ie自身的滚动条,超出部分全部用你自己的div滚动条,哈哈哈,明白鸟,明白鸟 --------------------编程问答-------------------- 学

习 --------------------编程问答-------------------- 我终于都明白lz的意思了。。。什么ie滚动条div滚动条的说法表达就有问题。不都是浏览器的滚动条么,只是出现的地方不同而已。。。根据我15楼的改法也能达到你的要求啊 --------------------编程问答--------------------
引用 22 楼 kevinlee0206 的回复:
引用 9 楼 hsabout 的回复:
我是不想要IE滚动条,用DIV滚动条代替

噢噢噢,我明白鸟,你是不想要ie自身的滚动条,超出部分全部用你自己的div滚动条,哈哈哈,明白鸟,明白鸟

明白鸟就好 --------------------编程问答-------------------- 看书上说, IE 对盒模型解读跟标准不符 --------------------编程问答--------------------
引用 25 楼 hsabout 的回复:
引用 22 楼 kevinlee0206 的回复:
引用 9 楼 hsabout 的回复:
我是不想要IE滚动条,用DIV滚动条代替

噢噢噢,我明白鸟,你是不想要ie自身的滚动条,超出部分全部用你自己的div滚动条,哈哈哈,明白鸟,明白鸟

明白鸟就好

请尝试给15楼中的DIV加入字符000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 

本人IE6,DIV的滚动条没有出现 --------------------编程问答-------------------- 给table外面再套个div,设置style="overflow: auto; width: 100%;"试试呢 --------------------编程问答--------------------
引用 27 楼 hsabout 的回复:
请尝试给15楼中的DIV加入字符000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000  

本人IE6,DIV的滚动条没有出现

没有出现滚动条的原因是:n个0会被解释为一个数字,而ie6对一个数字或单词不加以分割或换行,也就是word-break属性的默认值是keep-all。如果你需要在ie6下输入一个数字长度就像你说的n个0或者一个超长的英文单词的时候要达到你说的出现滚动条,只需要:

<DIV style="OVERFLOW: scroll; WIDTH: 100%; HEIGHT: 100px;word-break:break-all;"></DIV》
--------------------编程问答--------------------
引用 29 楼 natici 的回复:
引用 27 楼 hsabout 的回复:
请尝试给15楼中的DIV加入字符000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000……



0000只是我随便打上去的一个例子,DIV中会出现的数据其实是一个GridView,而且列数不确定,多的时候就出超出屏幕 --------------------编程问答--------------------
引用 28 楼 wings_jk 的回复:
给table外面再套个div,设置style="overflow: auto; width: 100%;"试试呢


加个DIV在外部的话就是我的菜单表头都会滚动 --------------------编程问答--------------------
引用 31 楼 hsabout 的回复:
引用 28 楼 wings_jk 的回复:
给table外面再套个div,设置style="overflow: auto; width: 100%;"试试呢


加个DIV在外部的话就是我的菜单表头都会滚动
那肯定哦。。除非你表头和表体分开来。。 --------------------编程问答-------------------- OVERFLOW: auto
>>>
OVERFLOW: hidden --------------------编程问答-------------------- <DIV style="overflow: scroll; WIDTH: 100%; HEIGHT: 100px"></DIV> --------------------编程问答--------------------
引用 34 楼 njlywy 的回复:
<DIV style="overflow: scroll; WIDTH: 100%; HEIGHT: 100px"></DIV>


兄弟姐妹们,请真的试过了再回帖 --------------------编程问答-------------------- 内容比较多的话,不用滚动条是不行的,你可以设定滚动条的样式,让它不像传统一样,看起来比较顺眼就行了 --------------------编程问答-------------------- 其实我现在要做一个查询功能
查询的内容是横向发展的,数据量大的时候表格就会较宽
我是想将表格置于DIV中,DIV占用页面设计剩余的空间
当表格超出,DIV出现滚动条,而页面则不出现滚动条 --------------------编程问答-------------------- ...
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,