наложение div поверх iframe
Я делаю виджет, похожий на виджеты uservoice, за исключением того, что я хочу, чтобы содержимое страницы было в iFrame, а не виджет появлялся через javascript. Как я могу иметь полную страницу (ширина / высота 100%) iFrame с div, закрепленным слева от браузера, пример (используя javascript, а не css/html) здесь:http://uservoice.com/demo
Я хочу, чтобы этот виджет отображался изначально на странице, а содержимое загружалось через iFrame.
любой идеи? Я не могу заставить iFrame заполнить всю страницу, а также появиться сверху. Я играл с Z-индексами без везения. Пример кода:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<style>
#widget {
left: 0px;
position: absolute;
top: 50%;
display: block;
z-index:100001;
width: 25px;
}
#content {
z-index:1;
}
</style>
</head>
<body>
<div id="widget">
widget
</div>
<iframe frameborder="0" id="content" src="http://www.google.com/" width="100%" height="100%"></iframe>
</body>
</html>
6 ответов
Если вы не загружаете кросс-домен, вы можете просто загрузить с помощью вызова jQuery ajax http://docs.jquery.com/Ajax/load
$(document).ready(function () {
$("#content").load("page.html");
});
и замените iframe на
<div id="content"></div>
вероятно, вам нужно добавить margin: auto; к вашему iFrame или плавающему div. Это позволит сделать ее 100%.
пример:
.width {
position:absolute;
left:0;
right:0;
top:0;
bottom:0;
width:250px;
height:150px;
margin:auto;
}
чтобы исправить это слева от браузера, вы можете использовать:
margin:auto auto auto 0;
удачи!
С этим кодом я получаю двойную полосу прокрутки справа справа. Один для веб-сайта и один для i-frame.
<style>
iframe {
position: absolute;
border: none;
box-sizing: border-box;
width: 100%;
height: 100%;
}
</style>
<div>
<iframe src="http://..."> </iframe>
</div>
вы можете обернуть iframe в div с низким Z-индексом, а затем положить div поверх него с более высоким z-индексом.
это сработало для меня:
- добавить наложение div с высоким Z-индексом и абсолютной позицией
- сделайте iframe также расположенным абсолютным
- добавить iframe внутри div
div с наложением:
<div style="z-index:99;position:absolute;top:0;right:0">
...overlay html...
</div>
iframe:
<style>
iframe {
position: absolute;
border: none;
box-sizing: border-box;
width: 100%;
height: 100%;
}
</style>
<div>
<iframe src="http://..."> </iframe>
</div>