в случае, если страница & amp; кадр не находится в одном домене, вам придется использовать postmessage , поскольку политика одного домена запрещает нормальную javascript-связь между страницами / кадрами разных доменов из-за проблем с безопасностью.
postmessage является частью html5, а работает во всех современных браузерах (включая IE8) . если вам нужна поддержка старых браузеров (в частности, IE6 / 7), вы можете использовать плагин postgessage jQuery (который прозрачно возвращается к некоторой хитрости тэгов хэш-тегов для старых браузеров).
и как побочный элемент: не уверены, что фреймы злы, есть некоторые проблемы (юзабилити, SEO, ...), связанные с ними, но я сделал некоторые исследования и большинство из них можно решить я думаю.
Это распространенная проблема, обнаруженная в свойстве column-count
. Для вашей проблемы вы можете использовать следующее решение, которое отлично работает с очень немногими css changes
, а также я заметил, что в вашем вопросе вы дублировали идентификатор элемента, который приводит ваш HTML к недействительному. Так что избегайте этого в будущем, работайте с css classes
.
#container {
overflow-y: auto;
height: 300px;
width: 400px;
border: 1px solid black;
}
#columncontainer {
/* column-count: 2;*/
border: 1px solid red;
width: 100%;
}
#columncontainer>span {
/*width: 100%;*/
display: inline-block;
background-color: #CCCC;
margin: 5px;
border: 1px solid blue;
width: calc(50% - 15px);
}
.block1,
.block2 {
height: 200px;
width: 200px;
}
.block3 {
height: 50px;
width: 200px;
}
<div id='container'>
<div id='columncontainer'>
<span id='span1' class="block1">Block1</span>
<span id='span2' class="block2">Block2</span>
<span id='span3' class="block3">Block3</span>
</div>
</div>
Оказывается, что в свойствах CSS Chrome значения «сироты» и «вдовы» по умолчанию установлены равными 2, тогда как другие браузеры, похоже, поддерживают значение 1.
Чтобы исправить проблему, которую я описал, необходимо добавить следующие свойства CSS в #columncontainer:
orphans: 1
widows: 1
Это предотвратит попытку Chrome придерживаться одного столбца.
Для дальнейшего ознакомления:
Выдержка из drafts.csswg.org:
If a block contains fewer lines than the value of widows or orphans, the rule simply becomes that all lines in the block must be kept together.