<iframe> 标签规定一个内联框架。
一个内联框架被用来在当前 HTML 文档中嵌入另一个文档。
属性
New :HTML5 中的新属性。
属性 |
值 |
描述 |
align |
left
right
top
middle
bottom |
HTML5 不支持。HTML 4.01 已废弃。 规定如何根据周围的元素来对齐 <iframe>。 |
frameborder |
1
0 |
HTML5 不支持。规定是否显示 <iframe> 周围的边框。 |
height |
pixels |
规定 <iframe> 的高度。 |
longdesc |
URL |
HTML5 不支持。规定一个页面,该页面包含了有关 <iframe> 的较长描述。 |
marginheight |
pixels |
HTML5 不支持。规定 <iframe> 的顶部和底部的边距。 |
marginwidth |
pixels |
HTML5 不支持。规定 <iframe> 的左侧和右侧的边距。 |
name |
name |
规定 <iframe> 的名称。 |
sandboxNew |
""
allow-forms
allow-same-origin
allow-scripts
allow-top-navigation |
对 <iframe> 的内容定义一系列额外的限制。 |
scrolling |
yes
no
auto |
HTML5 不支持。规定是否在 <iframe> 中显示滚动条。 |
seamlessNew |
seamless |
规定 <iframe> 看起来像是父文档中的一部分。 |
src |
URL |
规定在 <iframe> 中显示的文档的 URL。 |
srcdocNew |
HTML_code |
规定页面中的 HTML 内容显示在 <iframe> 中。 |
width |
pixels |
规定 <iframe> 的宽度。 |
body{overflow:hidden},这样也可以将滚动条去掉,而且这也是当我们只想去掉某一个滚动条所使用的属性。
二:去掉右边的滚动条且保留底下的滚动条
如果只想保留底下的滚动条,那么可以在嵌入的页面里设置 body{overflow-x:auto ; overflow-y:hidden;}
三:去掉底下的滚动条且保留右边的滚动条
在嵌入的页面里设置 body{overflow-x:hidden;overflow-y:auto;}
我们已经知道了这两个属性都可以设置滚动条的显示和隐藏,那么当两个同时设置时,会出现哪个效果呢?
通过检测,我发现当 scrolling = " auto " 或者 " yes " 时,如果设置了 body,那么就会使用body里的设置;当 scrolling = " no " 时,不管body设置了什么,都会使用 scrolling 的设置,即全部的滚动条都被去掉了。
iframe的滚动条问题:显示/隐藏滚动条:
XHTML 1.0 Transitional 标准不能显示
<!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">
父页面:修改为
HTML 4.01 Transitional 标准
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
子页面不要表头
****** 去掉 iframe 横向滚动条或竖条
1. 在主页面加 iframe scrolling="yes" 或 "auto"
2. css 文件
body {
overflow-x : hidden; 去掉横条
overflow-y : hidden; 去掉竖条
}
父页面和子页面链接入 css 文件
3. 去掉子页面里的
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
(即不要表头)
4. 两个都去掉
<iframe scrolling="no">
**********************************************
资料:
http://fangbubu.javaeye.com/blog/155091
GOOGLE到一些有用的资料:
[DIV+CSS]XHTML下的滚动条问题
1.xhtml下滚动条的颜色问题?
在原来的html的时候,我们可以这样定义整个页面的滚动条
body{
scrollbar-3dlight-color:#D4D0C8; /*- 最外左 -*/
scrollbar-highlight-color:#fff; /*- 左二 -*/
scrollbar-face-color:#E4E4E4; /*- 面子 -*/
scrollbar-arrow-color:#666; /*- 箭头 -*/
scrollbar-shadow-color:#808080; /*- 右二 -*/
scrollbar-darkshadow-color:#D7DCE0; /*- 右一 -*/
scrollbar-base-color:#D7DCE0; /*- 基色 -*/
scrollbar-track-color:#;/*- 滑道 -*/
}
但是同样的代码,我们应用在 xhtml下就不起作用了,我相信好多好朋友也遇到过同样的问题
那么怎么才能在xhtml下应用滚动条样式呢?看下列代码
html{
scrollbar-3dlight-color:#D4D0C8; /*- 最外左 -*/
scrollbar-highlight-color:#fff; /*- 左二 -*/
scrollbar-face-color:#E4E4E4; /*- 面子 -*/
scrollbar-arrow-color:#666; /*- 箭头 -*/
scrollbar-shadow-color:#808080; /*- 右二 -*/
scrollbar-darkshadow-color:#D7DCE0; /*- 右一 -*/
scrollbar-base-color:#D7DCE0; /*- 基色 -*/
scrollbar-track-color:#;/*- 滑道 -*/
}
这段代码和上一段唯一的不同就是在css定义的元素上,一个是body一个是html。我们再测试一下,把html页面的
"body"修改成"html"测试一下,发现依然可以实现效果。那到底是为什么呢?
在html和xhtml都通过,因为*就是定义页面上的任何标签当然也包括了“html”这个标签。
(ps:其实与其说是html与xhtml的区别到不如说是有无XHTML 1.0 transitional doctype的区别,但是如果你把页面的
XHTML 1.0 transitional doctype去掉的话,那么这个页面就没有doctype,默认的显示方式就是html4.01,不过
你要把XHTML 1.0 transitional doctype修改成HTML 4.01 doctype同样页面定义body也不会有效果的,虽然
这个页面的标准是html 4.01)
2.xhtml下frame页面横向滚动条的问题?
在用ie6浏览有框架的xhtml页面的时候,默认会水平和垂直滚动条会一起出现,这是ie6的一个
bug,在firefox上是正常的,出现的原因是其对XHTML 1.0 transitional doctype的解释缺陷.
对于这个bug一般有3种解决方案,
方法1:
代码:
html { overflow-y: scroll; }
原理:强制显示ie的垂直滚动条,而忽略水平滚动条
优点:完全解决了这个问题, 允许你保持完整的XHTML doctype.
缺点:即使页面不需要垂直滚动条的时候也会出现垂直滚动条。
方法2:
代码:
html { overflow-x: hidden; overflow-y: auto; }
原理:隐藏横向滚动,垂直滚动根据内容自适应
优点:在视觉上解决了这个问题.在不必要的时候, 未强制垂直滚动条出现.
缺点:只是隐藏了水平滚动条,如果页面真正需要水平滚动条的时候,
屏幕以外的内容会因为用户无法水平滚动,而看不到。
方法3:
代码:
body { margin-right: -15px; margin-bottom: -15px; }
原理:这会在margin的水平和垂直方向上添加一个负值, IE添加了该精确数值后, 便会去除对滚动条的需求假象.
优点:在视觉上解决了这个问题.,垂直滚动根据内容自适应
缺点:由于"人为创建"了15px的外边距(margin), 所以无法使用该填充过的屏幕区域.
以上摘自:http://hi.baidu.com/sandmax/blog/item/43fd0e4668dbc6096b63e59f.html
附:强制的滚动条:
问题中的"修复"该bug的技术, 同样可以用于其它目的. 利用CSS, 你可以有效地在Mozilla Firefox和Internet Explorer中显示或者隐藏垂直及水平滚动条.
强制显示滚动条:
html { overflow: scroll; }
强制隐藏滚动条:
html { overflow: hidden; }
隐藏IE的水平滚动条:
html { overflow-x: hidden; }
隐藏IE的垂直滚动条:
html { overflow-y: hidden; }
强制显示IE的水平滚动条:
html { overflow-x: scroll; }
强制显示IE的垂直滚动条:
html { overflow-y: scroll; }
强制显示Mozilla的水平滚动条:
html { overflow:-moz-scrollbars-horizontal; }
注意: 仅仅强制显示水平滚动条. 也就是说, 即使需要显示垂直滚动条时, 垂直滚动条也不会出现.
强制显示Mozilla的垂直滚动条:
html { overflow:-moz-scrollbars-vertical; }
注意: 仅仅强制显示垂直滚动条. 也就是说, 即使需要显示水平滚动条时, 水平滚动条也不会出现.
谷歌浏览器修改滚动条样式:
在iframe外层包一层div,添加如下样式:
style="-webkit-overflow-scrolling:touch;overflow:auto;"
代码如下:
<div style="width:100%;-webkit-overflow-scrolling:touch;overflow:auto;"><iframe name="main" id="main" src="../demo.html" width="100%" height="100%" frameborder="0" vspace="0" scrolling="yes" ></iframe></div>
谷歌修改滚动条样式
html {
overflow: auto;
min-width: 0px;
}
body {
position: absolute;
top: 1px;
/*left: 10%;*/
bottom: 1px;
/*right: 20px;*/
padding: 1px;
overflow-y: scroll;
overflow-x: hidden;
width: 95%;
}
/* Let's get this party started */
::-webkit-scrollbar {
width: 12px;
}
/* Track */
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
-webkit-border-radius: 10px;
border-radius: 10px;
}
/* Handle */
::-webkit-scrollbar-thumb {
-webkit-border-radius: 10px;
border-radius: 10px;
background: rgba(144,24,53,0.7);
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}
::-webkit-scrollbar-thumb:window-inactive {
background: rgba(255,0,0,0.4);
}