diff --git a/assets/index.less b/assets/index.less index 064af27..9a1a0ff 100644 --- a/assets/index.less +++ b/assets/index.less @@ -3,6 +3,11 @@ @disabledColor: #ccc; @border-radius-base: 6px; @primary-color: #2db7f5; +@tooltip-color: #fff; +@tooltip-bg: tint(#666, 4%); +@tooltip-arrow-width: 4px; +@tooltip-distance: @tooltip-arrow-width+4; +@tooltip-arrow-color: @tooltip-bg; * { box-sizing: border-box; @@ -106,7 +111,7 @@ } &-disabled { - background-color: @disabledColor; + background-color: #e9e9e9; .@{prefixClass}-track { background-color: @disabledColor; @@ -122,4 +127,51 @@ cursor: not-allowed!important; } } + + // slider tooltip style + &-tooltip { + position: absolute; + left: -9999px; + top: -9999px; + z-index: 4; + visibility: visible; + + &-hidden { + display: none; + } + + &-placement-top { + padding: @tooltip-arrow-width 0 @tooltip-distance 0; + } + + &-inner { + padding: 6px 0; + width: 24px; + height: 24px; + font-size: 12px; + line-height: 1; + color: @tooltip-color; + text-align: center; + text-decoration: none; + background-color: @tooltip-bg; + border-radius: @border-radius-base; + box-shadow: 0 0 4px #d9d9d9; + } + + &-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + } + + &-placement-top &-arrow { + bottom: @tooltip-distance - @tooltip-arrow-width; + left: 50%; + margin-left: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width @tooltip-arrow-width 0; + border-top-color: @tooltip-arrow-color; + } + } } \ No newline at end of file diff --git a/examples/simple.js b/examples/simple.js index 1ec1293..e906014 100644 --- a/examples/simple.js +++ b/examples/simple.js @@ -1,7 +1,7 @@ 'use strict'; require('rc-slider/assets/index.css'); -require('rc-tooltip/assets/bootstrap.css'); + var Slider = require('rc-slider'); var React = require('react'); // React.render(, document.getElementById('__react-content')); diff --git a/src/Slider.jsx b/src/Slider.jsx index cbdde89..32de63e 100644 --- a/src/Slider.jsx +++ b/src/Slider.jsx @@ -411,7 +411,11 @@ var Slider = React.createClass({ return handle; } else { return ( - {this.state.value}} delay={0} > + {this.state.value}} + delay={0} + prefixCls={prefixClsFn(prefixCls, 'tooltip')}> {handle} ); @@ -444,7 +448,7 @@ var Slider = React.createClass({ var sliderMarks = (props.marks.length > 0) ? this.renderMarks() : null; var prefixCls = props.className; - var sliderClassName = props.disabled ? prefixClsFn(prefixCls, 'disabled') : prefixCls; + var sliderClassName = props.disabled ? prefixCls + ' ' + prefixClsFn(prefixCls, 'disabled') : prefixCls; return (