代码之家  ›  专栏  ›  技术社区  ›  brienna

chrome中jquery滑块出现1px故障

  •  0
  • brienna  · 技术社区  · 6 年前

    我正在使用jquery ui中的一个滑块,其中每个记号的宽度为1px。

    这就是它在Firefox和Safari中的外观:

    enter image description here

    这是对的。

    但这就是它在Chrome中的外观:

    enter image description here enter image description here

    这是chrome独有的奇怪故障。我试过了 box-sizing box-shadow 在看了类似的问题之后,但我并没有成功地使这些记号看起来正确。

    如果设置为2px:

    enter image description here

    所有的滴答声都出现了,但仍然是油滑的。

    如果需要代码:

    HTML格式:

    <div id="slider"></div>
    

    JS公司:

    function createSlider() {
        $("#slider").slider({
            min: 1,
            max: numOfPages * 3, 
            step: 1, 
            range: false,
            orientation: 'horizontal',
            create: function(event, ui) { 
                setSliderTicks(event.target);
            }
        });
    }
    
    function setSliderTicks(){
        var $slider =  $('#slider');
        var max =  $slider.slider("option", "max");    
        var spacing =  100 / (max - 1);
        console.log('Spacing: ' + spacing);
    
        $slider.find('.tickmark').remove();
        for (var i = 0; i < max ; i++) {
            $('<span class="tickmark"></span>').css('left', (spacing * i) +  '%').appendTo($slider); 
         }
    }
    

    CSS:

    #slider {
        width: ;
        margin: 0 auto;
    }
    
    .ui-slider-horizontal {
        height: 3px;
        width: 75%;
    
    }
    
    .ui-slider {
        border: 0;
        background-color: #ededed;
        border-radius: 6px;
        top: 50%;
    }
    
    .ui-slider-handle {
        width: 19px;
        height: 18px;
        background-color: #ededed;
        border-radius: 50%;
        border: none;
        cursor: pointer;
        top: 50%;
        margin-top: -4px;
    }
    
    .ui-slider-handle:hover {
        opacity: 0.8;
    }
    
    .tickmark {
        display:inline-block;
        width: 1px;
        background-color: #ededed;
        height: 12px;
        position:absolute;
        top: -150%;
    }
    

    滑块来自 https://code.jquery.com/ui/1.12.1/jquery-ui.min.js https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css

    0 回复  |  直到 6 年前