MediaWiki:Common.css:修订间差异

来自神国反恶俗
跳到导航跳到搜索
无编辑摘要
无编辑摘要
第1行: 第1行:
/* 这里放置的CSS将应用于所有皮肤 */
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
( function () {


/* 目录(TOC):去掉默认的浮动与边框 */
    function moveTOC() {
.mw-table-of-contents-container,
        var toc = document.getElementById( "toc" );
.mw-table-of-contents,
        if ( !toc ) {
#toc,
            toc = document.querySelector( ".mw-table-of-contents-container" );
.toc {
        }
    float: none;
        var sidebar = document.getElementById( "column-one" );
    width: auto;
        if ( !toc || !sidebar ) {
    max-width: none;
            return;
    margin: 0;
        }
    padding: 0;
        if ( document.getElementById( "p-toc" ) ) {
    border: none;
            return;
    background: none;
        }
    font-size: 1em;
        var box = document.createElement( "div" );
}
        box.className = "portlet";
        box.id = "p-toc";
        var title = document.createElement( "h3" );
        title.textContent = "目录";
        var inner = document.createElement( "div" );
        inner.className = "pBody";
        inner.appendChild( toc );
        box.appendChild( title );
        box.appendChild( inner );
        sidebar.appendChild( box );
    }


#p-toc .pBody {
    function pickLinks( portlet ) {
    max-height: 70vh;
        var out = [];
    overflow-y: auto;
        if ( !portlet ) {
    font-size: 0.9em;
            return out;
    line-height: 1.6;
        }
}
        var links = portlet.querySelectorAll( "ul a" );
        for ( var i = 0; i < links.length; i++ ) {
            out.push( links[ i ] );
        }
        return out;
    }


#p-toc ul {
    function makeSticky() {
    margin: 0;
        var old = document.getElementById( "sg-topbar" );
    padding-left: 1.6em;
        if ( old ) {
}
            old.parentNode.removeChild( old );
        }


#p-toc .toctitle,
        var leftLinks = pickLinks( document.getElementById( "p-cactions" ) );
#p-toc .mw-table-of-contents__heading,
        var rightLinks = pickLinks( document.getElementById( "p-personal" ) );
#p-toc .mw-table-of-contents-header {
    display: none;
}


/* 顶部一条通栏:左编辑标签 / 右账号 */
        if ( leftLinks.length === 0 && rightLinks.length === 0 ) {
.sg-sticky-bar {
            return;
    position: fixed;
        }
    left: 0;
    right: 0;
    top: 0;
    z-index: 401;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
    padding: 3px 12px;
    font-size: 87%;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
}


.sg-bar-left {
        var bar = document.createElement( "div" );
    flex: 0 1 auto;
        bar.id = "sg-topbar";
    overflow: hidden;
        bar.className = "sg-sticky-bar";
}


.sg-bar-right {
        var left = document.createElement( "div" );
    flex: 0 0 auto;
        left.className = "sg-bar-left";
    margin-left: auto;
        for ( var i = 0; i < leftLinks.length; i++ ) {
}
            var a = document.createElement( "a" );
            a.href = leftLinks[ i ].href;
            a.textContent = leftLinks[ i ].textContent;
            left.appendChild( a );
        }


.sg-sticky-bar a {
        var right = document.createElement( "div" );
    color: #36c;
        right.className = "sg-bar-right";
    text-decoration: none;
        for ( var j = 0; j < rightLinks.length; j++ ) {
    padding: 2px 7px;
            var b = document.createElement( "a" );
    display: inline-block;
            b.href = rightLinks[ j ].href;
}
            b.textContent = rightLinks[ j ].textContent;
            right.appendChild( b );
        }


.sg-sticky-bar a:hover {
        bar.appendChild( left );
    text-decoration: underline;
        bar.appendChild( right );
}
        document.body.appendChild( bar );


/* 左侧栏:吸顶 + 上下滑动条 */
        var personal = document.getElementById( "p-personal" );
#column-one {
        var cactions = document.getElementById( "p-cactions" );
    position: sticky;
        if ( personal ) {
    top: 0;
            personal.style.visibility = "hidden";
    align-self: flex-start;
        }
    max-height: 100vh;
        if ( cactions ) {
    overflow-y: auto;
            cactions.style.visibility = "hidden";
    overflow-x: hidden;
        }
}


/* 正文让开顶部 */
        document.body.className += " sg-sticky-on";
body.sg-sticky-on #content {
    }
     padding-top: 36px !important;
 
}
    function run() {
        moveTOC();
        makeSticky();
    }
 
     if ( document.readyState === "loading" ) {
        document.addEventListener( "DOMContentLoaded", run );
    } else {
        run();
    }
 
}() );

2026年10月11日 (日) 14:42的版本

/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
( function () {

    function moveTOC() {
        var toc = document.getElementById( "toc" );
        if ( !toc ) {
            toc = document.querySelector( ".mw-table-of-contents-container" );
        }
        var sidebar = document.getElementById( "column-one" );
        if ( !toc || !sidebar ) {
            return;
        }
        if ( document.getElementById( "p-toc" ) ) {
            return;
        }
        var box = document.createElement( "div" );
        box.className = "portlet";
        box.id = "p-toc";
        var title = document.createElement( "h3" );
        title.textContent = "目录";
        var inner = document.createElement( "div" );
        inner.className = "pBody";
        inner.appendChild( toc );
        box.appendChild( title );
        box.appendChild( inner );
        sidebar.appendChild( box );
    }

    function pickLinks( portlet ) {
        var out = [];
        if ( !portlet ) {
            return out;
        }
        var links = portlet.querySelectorAll( "ul a" );
        for ( var i = 0; i < links.length; i++ ) {
            out.push( links[ i ] );
        }
        return out;
    }

    function makeSticky() {
        var old = document.getElementById( "sg-topbar" );
        if ( old ) {
            old.parentNode.removeChild( old );
        }

        var leftLinks = pickLinks( document.getElementById( "p-cactions" ) );
        var rightLinks = pickLinks( document.getElementById( "p-personal" ) );

        if ( leftLinks.length === 0 && rightLinks.length === 0 ) {
            return;
        }

        var bar = document.createElement( "div" );
        bar.id = "sg-topbar";
        bar.className = "sg-sticky-bar";

        var left = document.createElement( "div" );
        left.className = "sg-bar-left";
        for ( var i = 0; i < leftLinks.length; i++ ) {
            var a = document.createElement( "a" );
            a.href = leftLinks[ i ].href;
            a.textContent = leftLinks[ i ].textContent;
            left.appendChild( a );
        }

        var right = document.createElement( "div" );
        right.className = "sg-bar-right";
        for ( var j = 0; j < rightLinks.length; j++ ) {
            var b = document.createElement( "a" );
            b.href = rightLinks[ j ].href;
            b.textContent = rightLinks[ j ].textContent;
            right.appendChild( b );
        }

        bar.appendChild( left );
        bar.appendChild( right );
        document.body.appendChild( bar );

        var personal = document.getElementById( "p-personal" );
        var cactions = document.getElementById( "p-cactions" );
        if ( personal ) {
            personal.style.visibility = "hidden";
        }
        if ( cactions ) {
            cactions.style.visibility = "hidden";
        }

        document.body.className += " sg-sticky-on";
    }

    function run() {
        moveTOC();
        makeSticky();
    }

    if ( document.readyState === "loading" ) {
        document.addEventListener( "DOMContentLoaded", run );
    } else {
        run();
    }

}() );