利用者:JuthaDDA/avoidColumnBreakInsideListItems.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
( function () {
if (
typeof CSS !== 'undefined' &&
CSS.supports(
'(-webkit-column-break-inside: avoid) or (column-break-inside: avoid)'
)
) {
return;
}
Array.prototype.slice.call(
document.querySelectorAll( '.reflist, .columns-list__wrapper' ), 0
).forEach( function ( wrapper ) {
var childNodes = wrapper.childNodes;
var list = childNodes[ 1 ];
if (
!( wrapper instanceof HTMLDivElement ) ||
childNodes.length > 3 ||
childNodes[ 0 ].textContent !== '\n' ||
childNodes[ 2 ] ? childNodes[ 2 ].textContent !== '\n' : false ||
!( list instanceof HTMLOListElement || list instanceof HTMLUListElement )
) {
return;
}
Array.prototype.slice.call( list.childNodes, 0 ).forEach( function ( li ) {
if ( !( li instanceof HTMLLIElement ) ) {
return;
}
var inlineBlockDiv = document.createElement( 'div' );
inlineBlockDiv.style.display = 'inline-block';
Array.prototype.slice.call(
li.childNodes, 0
).forEach( function ( node ) {
inlineBlockDiv.appendChild( node );
} );
var placeHolder = document.createElement( 'div' ); // markerの位置調整用
placeHolder.innerHTML = ' ';
placeHolder.style.height = '0';
li.appendChild( placeHolder );
li.appendChild( inlineBlockDiv );
li.style.marginLeft = list.style.marginLeft;
} );
} );
}() );