Changeset 120958 for trunk/doc-new


Ignore:
Timestamp:
Jun 12, 2014, 6:08:47 PM (5 years ago)
Author:
cal@…
Message:

guide: Fix pseudo-fixed sidebar in browsers that don't support CSS3's "vh" units, closes #43995

Location:
trunk/doc-new/guide/resources
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc-new/guide/resources/docbook.css

    r120886 r120958  
    22 * MacPorts Guide Stylesheet
    33 */
    4 
    5 /*
    6    CSS design by Mark Duling
    7 */
    84
    95div.book {
     
    112108}
    113109
    114 body.singlepage div.toc > dl {
     110body.singlepage.vh-supported div.toc > dl {
    115111        max-height: 90vh;
    116112        overflow: auto;
     
    329325        text-decoration: none;
    330326}
     327
     328div#vh-test {
     329        width: 0;
     330        float: left;
     331        display: none;
     332        height: 20px; /* some arbitrary value that's probably not == 100vh */
     333}
  • trunk/doc-new/guide/resources/sticky-sidebar.js

    r120885 r120958  
    11$(function() {
    2         var stickyTop = $('div.toc').offset().top;
     2        var testElement = $('#vh-test');
     3        testElement.css({ height: '100vh' });
     4        if (testElement.height() == window.innerHeight) {
     5                $('body').addClass('vh-supported');
    36
    4         $(window).scroll(function() {
    5                 var windowTop = $(window).scrollTop();
     7                var stickyElement = $('div.toc');
     8                var stickyTop = stickyElement.offset().top;
    69
    7                 if (stickyTop - 10 < windowTop) {
    8                         $('div.toc').css({ position: 'fixed', top: '10px' });
    9                 } else {
    10                         $('div.toc').css('position', 'static');
    11                 }
    12         });
     10                $(window).scroll(function() {
     11                        var windowTop = $(window).scrollTop();
     12
     13                        if (stickyTop - 10 < windowTop) {
     14                                if (stickyElement.css('position') != 'fixed') {
     15                                        stickyElement.css({ position: 'fixed', top: '10px' });
     16                                }
     17                        } else {
     18                                if (stickyElement.css('position') != 'static') {
     19                                        stickyElement.css('position', 'static');
     20                                }
     21                        }
     22                });
     23        } else {
     24                $('body').addClass('vh-unuspported');
     25        }
    1326});
  • trunk/doc-new/guide/resources/tabs.xsl

    r120885 r120958  
    1717                        </div>
    1818                </div>
     19                <div id="vh-test"></div> <!-- needed for the sticky sidebar -->
    1920        </xsl:template>
    2021</xsl:stylesheet>
Note: See TracChangeset for help on using the changeset viewer.