3

我在 jQuery UI 中改变了水平滑块的外观,使它变得又大又圆,这看起来很棒,除了当你将它一直向右移动时滑块会走得太远! 在此处输入图像描述 http://jsfiddle.net/RXFn6/

如何补救?

HTML

<h2 class="demoHeaders">Slider</h2>
<div id="slider"></div>

JavaScript

$(function() {
    $( "#slider" ).slider({
        range:"min",
        value:50
    });
});

CSS

/*! jQuery UI - v1.10.3 - 2013-06-30
* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */

.ui-widget-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ui-slider {
    position: relative;
    text-align: left;
}
.ui-slider .ui-slider-handle {    width:50px; 
    height:50px; 
    background:url(../images/slider_grabber.png) no-repeat; overflow: hidden; 
    position:absolute;
    top: -4px;
    border-style:none;  }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0;
border-radius: 33px 0 0 33px;
}

.ui-slider-horizontal { height: 2.5em; border-radius: 100px !important }
.ui-slider-horizontal .ui-slider-handle { margin-left: -.6em; z-index: 9000; max-width: 95% !important;
border-radius: 100px;}

.ui-slider-horizontal .ui-slider-range {
    top: 0;
    height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
    left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
    right: 0;
}


.ui-widget select,
.ui-widget textarea,
.ui-widget button {
    font-family: Lucida Grande,Lucida Sans,Arial,sans-serif;
    font-size: 1em;
}
.ui-widget-content { border: 1px solid #a6c9e2; background: #daa; color: #222222; }
.ui-widget-content a {
    color: #222222;
}
.ui-widget-header { border: 1px solid #4297d7; background: #ada; color: #ffffff; font-weight: bold; border-radius: 33px 0  0 33px; min-width: 33px;}
.ui-widget-header a {
    color: #ffffff;
}

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    border: 1px solid #c5dbec;
    background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x;
    font-weight: bold;
    color: #2e6e9e;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
    color: #2e6e9e;
    text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
    border: 1px solid #79b7e7;
    background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x;
    font-weight: bold;
    color: #1d5987;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited {
    color: #1d5987;
    text-decoration: none;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
    border: 1px solid #79b7e7;
    background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x;
    font-weight: bold;
    color: #e17009;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
    color: #e17009;
    text-decoration: none;
}
4

1 回答 1

7

修复它:http: //jsfiddle.net/RXFn6/3/

以下是解决此问题的步骤:

  1. 将滑块包裹在 div 中
  2. 删除背景和边框.ui-widget-content
  3. 将 (2) 中的背景和边框添加到 (1) 中创建的包装 div
  4. border-radius如有必要,设置在包装上
  5. 增加padding-right包装直到滑块看起来不再偏离轨道
于 2013-08-07T23:38:12.707 回答