我想从网页中删除上部和左侧元素(使用greasemonkey / scriptish),以优化其布局,以便在galaxy tab 10.1中显示它。
网页是tvtv.de,我的第一种方法(我对修补网页完全陌生)是:
// ==UserScript==
// @include http://www.tvtv.de/*
// ==/UserScript==
var elmDeleted = document.getElementById("header");
elmDeleted.parentNode.removeChild(elmDeleted);
elmDeleted = document.getElementById("main_left");
elmDeleted.parentNode.removeChild(elmDeleted);
可疑元素被消隐,但仍然使用布局中的原始空格。 我也尝试了不同的方法,比如将元素宽度设置为零,隐藏元素(element.style.display =" none")等,但结果总是一样。
是否有可能崩溃'元素,所以他们不会在页面布局中使用任何空间?
非常感谢任何帮助,提前谢谢。
答案 0 :(得分:2)
实际上它不占用任何空间,因为它不再存在。
页面其余部分未向上移动的原因是因为元素显式位于距顶部100个像素处。例如,请参阅styles.css
中#main_right
的样式:
#main_right
{
background-color: #FFFFFF;
/* -------------------- */
position: absolute;
left: 180px;
right: 0px;
top: 100px;
/* -------------------- */
bottom: 21px;
overflow: visible;
}
您必须手动调整这些位置。
答案 1 :(得分:2)
您正在正确删除/隐藏元素。如果他们相对定位,那么他们会崩溃以填补可用空间。
对于此特定网站,主要内容绝对定位。要折叠元素,请使用:
var css = '#main_left, #main_right { top: 0; }',
style = document.createElement('style');
style.appendChild(document.createTextNode(css));
document.body.appendChild(style);