在评论开始尖叫“框架是邪恶的”之前,让我添加一个免责声明:“我只是移植遗留应用程序而没有时间摆脱框架!” : - )
有一个包含两个框架的框架集。我不喜欢浏览器呈现的默认框架边框(特别是在Chrome和Firefox上)。它太厚了,感觉很突兀!所以我想我会在框架上使用frameborder=0
属性隐藏默认框架边框,并在框架内的内容上添加所需的样式。问题是:在添加frameborder=0
之后,这些框架不再可以在Chrome& Safari,而IE& Firefox仍然可以调整它们的大小。这是我的代码:
<frameset rows="80%,20%" >
<frame id="frame1" scrolling="auto" frameborder="0" />
<frame id="frame2" scrolling="auto" frameborder="0" />
</frameset>
无论如何都要覆盖默认的边框渲染并仍保留可恢复性?
答案 0 :(得分:0)
使用普通的css设置你的帧的样式,我认为这应该可行,但是框架是邪恶的,没有人使用它们&gt;。&gt;
尝试将此添加到您的框架集页面样式:
frame {
border: 1px solid #464646;
border-collapse: collapse;
}
答案 1 :(得分:0)
我创建了一个脚本,在文档中放置一个句柄栏,您可以使用它来调整FF和chrome中的框架集。不完美但可能有所帮助:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<script type="text/javascript">
function makeFramesetVerticallyResizable(frameSetId) {
var frameSet = document.getElementById(frameSetId);
// insert a vertical box called resizeHandle into the righthand document:
var frameDoc = frameSet.children[1].contentDocument;
var resizeHandle = frameDoc.createElement("div");
resizeHandle.style.backgroundColor = "#999999";// remove this line to hide the handle
resizeHandle.style.position = "fixed";
resizeHandle.style.width = "100%";
resizeHandle.style.height = "6px";
resizeHandle.style.top = "3px"; // put it a little away from the border so firefox can detect dragging to the left
resizeHandle.style.left = "0px";
resizeHandle.style.cursor = "n-resize";
resizeHandle.style.zIndex = 99999;
frameDoc.body.insertBefore(resizeHandle, frameDoc.body.firstChild);
// Drag functions:
var dragStartScreenY = null;
resizeHandle.draggable = true;
resizeHandle.ondragstart = function(event) {
dragStartScreenY = event.screenY;
event.dataTransfer.setData('text/plain', 'dummy');
event.dataTransfer.effectAllowed = 'move';
};
resizeHandle.ondrag = function(event) {
if(dragStartScreenY !== null && event.screenY != 0) { // we have a mouse position ?
var offset = event.screenY - dragStartScreenY;
var height = frameSet.firstElementChild.offsetHeight;
var newHeight = height + offset;
frameSet.rows = "" + newHeight + ",*";
dragStartScreenY = event.screenY;
}
}
resizeHandle.ondragend = resizeHandle.ondrag;// Firefox does not give us the current mouse position during dragging, so resize the frames at the end
}
</script>
</head>
<frameset id="mainFrameSet" rows="80%,20%" border="0" onload="makeFramesetVerticallyResizable('mainFrameSet')">
<frame src="frame_blanc.php" id="frame1" scrolling="auto" frameborder="0" />
<frame src="frame_blanc.php" id="frame2" scrolling="auto" frameborder="0" />
</frameset>
</html>