Files
ant-design/docs/react/customize-theme.html
T
2017-04-24 18:06:27 +08:00

124 lines
40 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="An enterprise-class UI design language and React-based implementation">
<meta name="description" content="A set of high-quality React components">
<meta name="description" content="One of best React UI library for enterprise background">
<title>Ant Design - A UI Design Language</title>
<script>
(function() {
function isLocalStorageNameSupported() {
var testKey = 'test';
var storage = window.localStorage;
try {
storage.setItem(testKey, '1');
storage.removeItem(testKey);
return true;
} catch (error) {
return false;
}
}
// 优先级提高到所有静态资源的前面,语言不对,加载其他静态资源没意义
var pathname = location.pathname;
function isZhCN(pathname) {
return /-cn\/?$/.test(pathname);
}
function getLocalizedPathname(path, zhCN) {
var pathname = path.startsWith('/') ? path : '/' + path;
if (!zhCN) { // to enUS
return /\/?index-cn/.test(pathname) ? '/' : pathname.replace('-cn', '');
} else if (pathname === '/') {
return '/index-cn';
} else if (pathname.endsWith('/')) {
return pathname.replace(/\/$/, '-cn/');
}
return pathname + '-cn';
}
// 兼容旧的 URL `?locale=...`
var queryString = location.search;
if (queryString) {
var isZhCNConfig = queryString.indexOf('zh-CN') > -1;
if (isZhCNConfig && !isZhCN(pathname)) {
location.pathname = getLocalizedPathname(pathname, isZhCNConfig)
}
}
// 首页无视链接里面的语言设置 https://github.com/ant-design/ant-design/issues/4552
if (isLocalStorageNameSupported() && (pathname === '/' || pathname === '/index-cn')) {
var lang = (window.localStorage && localStorage.getItem('locale')) || (navigator.language.toLowerCase() === 'zh-cn' ? 'zh-CN' : 'en-US');
// safari is 'zh-cn', while other browser is 'zh-CN';
if ((lang === 'zh-CN') !== isZhCN(pathname)) {
location.pathname = getLocalizedPathname(pathname, lang === 'zh-CN');
}
}
document.documentElement.className += isZhCN(pathname) ? 'zh-cn' : 'en-us';
})()
</script>
<link rel="icon" href="https://t.alipayobjects.com/images/T1QUBfXo4fXXXXXXXX.png" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.cnpmjs.org/css?family=Lato:400,700|Raleway"/>
<link rel="stylesheet" type="text/css" href="/index-1.css"/>
<link rel="stylesheet" type="text/css" href="/index-2.css"/>
<style id="nprogress-style">
#nprogress { display: none }
</style>
<!--[if lte IE 10]>
<script
src="https://as.alipayobjects.com/g/component/??console-polyfill/0.2.2/index.js,media-match/2.0.2/media.match.min.js"></script>
<![endif]-->
<script>
if (!window.Intl) {
document.writeln('<script src="https://as.alipayobjects.com/g/component/intl/1.0.1/??Intl.js,locale-data/jsonp/en.js,locale-data/jsonp/zh.js">' + '<' + '/script>');
}
if (!window.Promise) {
document.writeln('<script src="https://as.alipayobjects.com/g/component/es6-promise/3.2.2/es6-promise.min.js"' + '>' + '<' + '/' + 'script>');
}
// Enable Google Analytics
if (!location.port) {
/* eslint-disable */
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-72788897-1', 'auto');
ga('send', 'pageview');
/* eslint-enable */
}
</script>
<!-- Hotjar Tracking Code for ant.design -->
<script>
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:473408,hjsv:5};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'//static.hotjar.com/c/hotjar-','.js?sv=');
</script>
</head>
<body>
<div id="react-content">
<div class="page-wrapper" data-reactroot="" data-reactid="1" data-react-checksum="726539287"><header id="header" class="clearfix" data-reactid="2"><div class="ant-row" data-reactid="3"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-5 ant-col-lg-4" data-reactid="4"><a id="logo" href="/" data-reactid="5"><img alt="logo" src="https://t.alipayobjects.com/images/rmsweb/T1B9hfXcdvXXXXXXXX.svg" data-reactid="6"/><span data-reactid="7">Ant Design</span></a></div><div class="ant-col-xs-0 ant-col-sm-0 ant-col-md-19 ant-col-lg-20" data-reactid="8"><div id="search-box" data-reactid="9"><div class="ant-select ant-select-combobox ant-select-enabled" data-reactid="10"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" data-reactid="11"><div class="ant-select-selection__rendered" data-reactid="12"><div style="display:block;user-select:none;-webkit-user-select:none;" unselectable="unselectable" class="ant-select-selection__placeholder" data-reactid="13">Search Components...</div><ul data-reactid="14"><li class="ant-select-search ant-select-search--inline" data-reactid="15"><div class="ant-select-search__field__wrap" data-reactid="16"><input value="" class="ant-select-search__field" data-reactid="17"/><span class="ant-select-search__field__mirror" data-reactid="18"><!-- react-text: 19 --><!-- /react-text --><!-- react-text: 20 --> <!-- /react-text --></span></div></li></ul></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="21"><b data-reactid="22"></b></span></div></div></div><button type="button" class="ant-btn ant-btn-ghost ant-btn-sm lang" data-reactid="23"><span data-reactid="24">中文</span></button><div class="ant-select-sm version ant-select ant-select-enabled" data-reactid="25"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" tabindex="0" data-reactid="26"><div class="ant-select-selection__rendered" data-reactid="27"><div class="ant-select-selection-selected-value" title="2.9.3" style="display:block;opacity:1;" data-reactid="28">2.9.3</div></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none;" unselectable="unselectable" data-reactid="29"><b data-reactid="30"></b></span></div></div><ul class="ant-menu ant-menu-horizontal ant-menu-light ant-menu-root" role="menu" aria-activedescendant="" id="nav" tabindex="0" data-reactid="31"><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="32"><a href="/" data-reactid="33"><span data-reactid="34">Home</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="35"><a href="/docs/spec/introduce" data-reactid="36"><span data-reactid="37">Guidlines</span></a></li><li class="ant-menu-item-selected ant-menu-item" role="menuitem" aria-selected="true" data-reactid="38"><a href="/docs/react/introduce" data-reactid="39"><span data-reactid="40">Components</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="41"><a href="/docs/pattern/navigation" data-reactid="42"><span data-reactid="43">Patterns</span></a></li><li class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="44"><a href="/docs/resource/download" data-reactid="45"><span data-reactid="46">Resources</span></a></li></ul></div></div></header><div class="main-wrapper" data-reactid="47"><div class="ant-row" data-reactid="48"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-6 ant-col-lg-4" data-reactid="49"><ul class="ant-menu ant-menu-inline aside-container ant-menu-light ant-menu-root" role="menu" aria-activedescendant="" tabindex="0" data-reactid="50"><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="51"><a href="/docs/react/introduce" data-reactid="52">Ant Design of React</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="53"><a href="/docs/react/getting-started" data-reactid="54">Getting Started</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="55"><a href="/docs/react/practical-projects" data-reactid="56">Real project with dva</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="57"><a href="/docs/react/use-with-create-react-app" data-reactid="58">Use in create-react-app</a></li><li style="padding-left:24px;" class="ant-menu-item-selected ant-menu-item" role="menuitem" aria-selected="true" data-reactid="59"><a href="/docs/react/customize-theme" data-reactid="60">Customize Theme</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="61"><a href="/changelog" data-reactid="62">Change Log</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="63"><a href="/docs/react/recommendation" data-reactid="64">Third-Party Libraries</a></li><li style="padding-left:24px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="65"><a href="/docs/react/i18n" data-reactid="66">Internationalization</a></li><li class="ant-menu-submenu-inline ant-menu-submenu-open ant-menu-submenu" data-reactid="67"><div style="padding-left:24px;" class="ant-menu-submenu-title" aria-expanded="true" aria-owns="Components$Menu" aria-haspopup="true" data-reactid="68"><h4 data-reactid="69">Components</h4></div><ul class="ant-menu ant-menu-inline ant-menu-sub" role="menu" aria-activedescendant="" id="Components$Menu" data-reactid="70"><li class=" ant-menu-item-group" data-reactid="71"><div class="ant-menu-item-group-title" data-reactid="72">General</div><ul class="ant-menu-item-group-list" data-reactid="73"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="74"><a href="/components/button/" data-reactid="75"><span data-reactid="76">Button</span><span class="chinese" data-reactid="77"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="78"><a href="/components/icon/" data-reactid="79"><span data-reactid="80">Icon</span><span class="chinese" data-reactid="81"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="82"><div class="ant-menu-item-group-title" data-reactid="83">Layout</div><ul class="ant-menu-item-group-list" data-reactid="84"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="85"><a href="/components/grid/" data-reactid="86"><span data-reactid="87">Grid</span><span class="chinese" data-reactid="88"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="89"><a href="/components/layout/" data-reactid="90"><span data-reactid="91">Layout</span><span class="chinese" data-reactid="92"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="93"><div class="ant-menu-item-group-title" data-reactid="94">Navigation</div><ul class="ant-menu-item-group-list" data-reactid="95"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="96"><a href="/components/affix/" data-reactid="97"><span data-reactid="98">Affix</span><span class="chinese" data-reactid="99"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="100"><a href="/components/breadcrumb/" data-reactid="101"><span data-reactid="102">Breadcrumb</span><span class="chinese" data-reactid="103"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="104"><a href="/components/back-top/" data-reactid="105"><span data-reactid="106">BackTop</span><span class="chinese" data-reactid="107"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="108"><a href="/components/dropdown/" data-reactid="109"><span data-reactid="110">Dropdown</span><span class="chinese" data-reactid="111"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="112"><a href="/components/menu/" data-reactid="113"><span data-reactid="114">Menu</span><span class="chinese" data-reactid="115"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="116"><a href="/components/pagination/" data-reactid="117"><span data-reactid="118">Pagination</span><span class="chinese" data-reactid="119"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="120"><a href="/components/steps/" data-reactid="121"><span data-reactid="122">Steps</span><span class="chinese" data-reactid="123"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="124"><a href="/components/tabs/" data-reactid="125"><span data-reactid="126">Tabs</span><span class="chinese" data-reactid="127"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="128"><div class="ant-menu-item-group-title" data-reactid="129">Data Entry</div><ul class="ant-menu-item-group-list" data-reactid="130"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="131"><a href="/components/auto-complete/" data-reactid="132"><span data-reactid="133">AutoComplete</span><span class="chinese" data-reactid="134"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="135"><a href="/components/cascader/" data-reactid="136"><span data-reactid="137">Cascader</span><span class="chinese" data-reactid="138"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="139"><a href="/components/checkbox/" data-reactid="140"><span data-reactid="141">Checkbox</span><span class="chinese" data-reactid="142"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="143"><a href="/components/date-picker/" data-reactid="144"><span data-reactid="145">DatePicker</span><span class="chinese" data-reactid="146"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="147"><a href="/components/form/" data-reactid="148"><span data-reactid="149">Form</span><span class="chinese" data-reactid="150"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="151"><a href="/components/input-number/" data-reactid="152"><span data-reactid="153">InputNumber</span><span class="chinese" data-reactid="154"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="155"><a href="/components/input/" data-reactid="156"><span data-reactid="157">Input</span><span class="chinese" data-reactid="158"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="159"><a href="/components/mention/" data-reactid="160"><span data-reactid="161">Mention</span><span class="chinese" data-reactid="162"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="163"><a href="/components/rate/" data-reactid="164"><span data-reactid="165">Rate</span><span class="chinese" data-reactid="166"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="167"><a href="/components/radio/" data-reactid="168"><span data-reactid="169">Radio</span><span class="chinese" data-reactid="170"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="171"><a href="/components/select/" data-reactid="172"><span data-reactid="173">Select</span><span class="chinese" data-reactid="174"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="175"><a href="/components/slider/" data-reactid="176"><span data-reactid="177">Slider</span><span class="chinese" data-reactid="178"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="179"><a href="/components/switch/" data-reactid="180"><span data-reactid="181">Switch</span><span class="chinese" data-reactid="182"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="183"><a href="/components/tree-select/" data-reactid="184"><span data-reactid="185">TreeSelect</span><span class="chinese" data-reactid="186"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="187"><a href="/components/time-picker/" data-reactid="188"><span data-reactid="189">TimePicker</span><span class="chinese" data-reactid="190"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="191"><a href="/components/transfer/" data-reactid="192"><span data-reactid="193">Transfer</span><span class="chinese" data-reactid="194"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="195"><a href="/components/upload/" data-reactid="196"><span data-reactid="197">Upload</span><span class="chinese" data-reactid="198"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="199"><div class="ant-menu-item-group-title" data-reactid="200">Data Display</div><ul class="ant-menu-item-group-list" data-reactid="201"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="202"><a href="/components/badge/" data-reactid="203"><span data-reactid="204">Badge</span><span class="chinese" data-reactid="205"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="206"><a href="/components/calendar/" data-reactid="207"><span data-reactid="208">Calendar</span><span class="chinese" data-reactid="209"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="210"><a href="/components/card/" data-reactid="211"><span data-reactid="212">Card</span><span class="chinese" data-reactid="213"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="214"><a href="/components/carousel/" data-reactid="215"><span data-reactid="216">Carousel</span><span class="chinese" data-reactid="217"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="218"><a href="/components/collapse/" data-reactid="219"><span data-reactid="220">Collapse</span><span class="chinese" data-reactid="221"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="222"><a href="/components/popover/" data-reactid="223"><span data-reactid="224">Popover</span><span class="chinese" data-reactid="225"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="226"><a href="/components/tooltip/" data-reactid="227"><span data-reactid="228">Tooltip</span><span class="chinese" data-reactid="229"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="230"><a href="/components/table/" data-reactid="231"><span data-reactid="232">Table</span><span class="chinese" data-reactid="233"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="234"><a href="/components/tag/" data-reactid="235"><span data-reactid="236">Tag</span><span class="chinese" data-reactid="237"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="238"><a href="/components/timeline/" data-reactid="239"><span data-reactid="240">Timeline</span><span class="chinese" data-reactid="241"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="242"><a href="/components/tree/" data-reactid="243"><span data-reactid="244">Tree</span><span class="chinese" data-reactid="245"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="246"><div class="ant-menu-item-group-title" data-reactid="247">Feedback</div><ul class="ant-menu-item-group-list" data-reactid="248"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="249"><a href="/components/alert/" data-reactid="250"><span data-reactid="251">Alert</span><span class="chinese" data-reactid="252"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="253"><a href="/components/modal/" data-reactid="254"><span data-reactid="255">Modal</span><span class="chinese" data-reactid="256"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="257"><a href="/components/message/" data-reactid="258"><span data-reactid="259">Message</span><span class="chinese" data-reactid="260"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="261"><a href="/components/notification/" data-reactid="262"><span data-reactid="263">Notification</span><span class="chinese" data-reactid="264"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="265"><a href="/components/progress/" data-reactid="266"><span data-reactid="267">Progress</span><span class="chinese" data-reactid="268"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="269"><a href="/components/popconfirm/" data-reactid="270"><span data-reactid="271">Popconfirm</span><span class="chinese" data-reactid="272"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="273"><a href="/components/spin/" data-reactid="274"><span data-reactid="275">Spin</span><span class="chinese" data-reactid="276"></span></a></li></ul></li><li class=" ant-menu-item-group" data-reactid="277"><div class="ant-menu-item-group-title" data-reactid="278">Other</div><ul class="ant-menu-item-group-list" data-reactid="279"><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="280"><a href="/components/anchor/" data-reactid="281"><span data-reactid="282">Anchor</span><span class="chinese" data-reactid="283"></span></a></li><li style="padding-left:48px;" class="ant-menu-item" role="menuitem" aria-selected="false" data-reactid="284"><a href="/components/locale-provider/" data-reactid="285"><span data-reactid="286">LocaleProvider</span><span class="chinese" data-reactid="287"></span></a></li></ul></li></ul></li></ul></div><div class="main-container ant-col-xs-24 ant-col-sm-24 ant-col-md-18 ant-col-lg-20" data-reactid="288"><article class="markdown" data-reactid="289"><h1 data-reactid="290"><!-- react-text: 291 -->Customize Theme<!-- /react-text --><a class="edit-button" href="https://github.com/ant-design/ant-design/edit/master/docs/react/customize-theme.en-US.md" data-reactid="292"><i class="anticon anticon-edit" data-reactid="293"></i></a></h1><section class="toc" data-reactid="294"><ul data-reactid="295"><li data-reactid="296"><a class="bisheng-toc-h2" href="#Less-variables" title="Less variables" data-reactid="297"><!-- react-text: 298 -->Less variables<!-- /react-text --></a></li><li data-reactid="299"><a class="bisheng-toc-h2" href="#How-to-do-it" title="How to do it" data-reactid="300"><!-- react-text: 301 -->How to do it<!-- /react-text --></a></li></ul></section><section class="markdown" data-reactid="302"><p data-reactid="303"><!-- react-text: 304 -->Ant Design allows to customize some basic design aspects in order to meet the needs of UI diversity from business and brand, including primary color, border radius, border color, etc.<!-- /react-text --></p><p data-reactid="305"><img src="https://zos.alipayobjects.com/rmsportal/zTFoszBtDODhXfLAazfSpYbSLSEeytoG.png" data-reactid="306"/></p><h2 id="Less-variables" data-reactid="307"><span data-reactid="308"><!-- react-text: 309 -->Less variables<!-- /react-text --></span><a href="#Less-variables" class="anchor" data-reactid="310">#</a></h2><p data-reactid="311"><!-- react-text: 312 -->We are using <!-- /react-text --><a href="http://lesscss.org/" data-reactid="313"><!-- react-text: 314 -->Less<!-- /react-text --></a><!-- react-text: 315 --> as the development language of style. A set of less variables are defined for each design aspect that can be customized to your needs.<!-- /react-text --></p><ul data-reactid="316"><li data-reactid="317"><p data-reactid="318"><a href="https://github.com/ant-design/ant-design/blob/master/components/style/themes/default.less" data-reactid="319"><!-- react-text: 320 -->Default Variables<!-- /react-text --></a></p></li></ul><p data-reactid="321"><!-- react-text: 322 -->Please report an issue if the existing list of variables is not enough for you.<!-- /react-text --></p><h2 id="How-to-do-it" data-reactid="323"><span data-reactid="324"><!-- react-text: 325 -->How to do it<!-- /react-text --></span><a href="#How-to-do-it" class="anchor" data-reactid="326">#</a></h2><p data-reactid="327"><!-- react-text: 328 -->We recommend <!-- /react-text --><a href="http://lesscss.org/usage/#using-less-in-the-browser-modify-variables" data-reactid="329"><!-- react-text: 330 -->modifyVars<!-- /react-text --></a><!-- react-text: 331 --> to override the default values of the variables. There are two ways to achieve it in practice.<!-- /react-text --></p><p data-reactid="332"><!-- react-text: 333 -->You can use this <!-- /react-text --><a href="https://github.com/ant-design/antd-init/tree/master/examples/customize-antd-theme" data-reactid="334"><!-- react-text: 335 -->example<!-- /react-text --></a><!-- react-text: 336 --> as a playground.<!-- /react-text --></p><h3 id="1)-Using-theme-property-(recommended-way)" data-reactid="337"><span data-reactid="338"><!-- react-text: 339 -->1) Using <!-- /react-text --><code data-reactid="340"><!-- react-text: 341 -->theme<!-- /react-text --></code><!-- react-text: 342 --> property (recommended way)<!-- /react-text --></span><a href="#1)-Using-theme-property-(recommended-way)" class="anchor" data-reactid="343">#</a></h3><p data-reactid="344"><!-- react-text: 345 -->Specify the <!-- /react-text --><code data-reactid="346"><!-- react-text: 347 -->theme<!-- /react-text --></code><!-- react-text: 348 --> property in <!-- /react-text --><code data-reactid="349"><!-- react-text: 350 -->package.json<!-- /react-text --></code><!-- react-text: 351 --> or <!-- /react-text --><code data-reactid="352"><!-- react-text: 353 -->.roadhogrc<!-- /react-text --></code><!-- react-text: 354 --> file, whose value can be either an object or the path to a JS file that contains the custom values of specific variables:<!-- /react-text --></p><ul data-reactid="355"><li data-reactid="356"><p data-reactid="357"><!-- react-text: 358 -->example of directly specifying the custom values as an object:<!-- /react-text --></p></li></ul><pre class="language-js" data-reactid="359"><code data-reactid="360"><span class="token string">"theme"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span>
<span class="token string">"primary-color"</span><span class="token punctuation">:</span> <span class="token string">"#1DA57A"</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span></code></pre><ul data-reactid="361"><li data-reactid="362"><p data-reactid="363"><!-- react-text: 364 -->example of specifying a <!-- /react-text --><a href="https://github.com/ant-design/antd-init/blob/master/examples/customize-antd-theme/theme.js" data-reactid="365"><!-- react-text: 366 -->file path<!-- /react-text --></a><!-- react-text: 367 --> to a JS file:<!-- /react-text --></p></li></ul><pre class="language-js" data-reactid="368"><code data-reactid="369"><span class="token string">"theme"</span><span class="token punctuation">:</span> <span class="token string">"./theme.js"</span><span class="token punctuation">,</span></code></pre><p data-reactid="370"><!-- react-text: 371 -->This approach is available only when using <!-- /react-text --><a href="https://github.com/ant-design/antd-init" data-reactid="372"><!-- react-text: 373 -->antd-init<!-- /react-text --></a><!-- react-text: 374 --> or <!-- /react-text --><a href="https://github.com/dvajs/dva-cli" data-reactid="375"><!-- react-text: 376 -->dva-cli<!-- /react-text --></a><!-- react-text: 377 -->. If you choose other boilerplates, you can write webpack config about <!-- /react-text --><a href="https://github.com/webpack/less-loader#less-options" data-reactid="378"><!-- react-text: 379 -->less-loader modifyVars<!-- /react-text --></a><!-- react-text: 380 --> like <!-- /react-text --><a href="https://github.com/ant-tool/atool-build/blob/a4b3e3eec4ffc09b0e2352d7f9d279c4c28fdb99/src/getWebpackCommonConfig.js#L131-L138" data-reactid="381"><!-- react-text: 382 -->atool-build <!-- /react-text --></a><!-- react-text: 383 --> does.<!-- /react-text --></p><p data-reactid="384"><!-- react-text: 385 -->Note:<!-- /react-text --></p><ul data-reactid="386"><li data-reactid="387"><p data-reactid="388"><!-- react-text: 389 -->Importing style from less files is necessary.<!-- /react-text --></p><ul data-reactid="390"><li data-reactid="391"><p data-reactid="392"><!-- react-text: 393 -->If you import styles by specifying the <!-- /react-text --><code data-reactid="394"><!-- react-text: 395 -->style<!-- /react-text --></code><!-- react-text: 396 --> option of <!-- /react-text --><a href="https://github.com/ant-design/babel-plugin-import" data-reactid="397"><!-- react-text: 398 -->babel-plugin-import<!-- /react-text --></a><!-- react-text: 399 -->, change it from <!-- /react-text --><code data-reactid="400"><!-- react-text: 401 -->&#x27;css&#x27;<!-- /react-text --></code><!-- react-text: 402 --> to <!-- /react-text --><code data-reactid="403"><!-- react-text: 404 -->true<!-- /react-text --></code><!-- react-text: 405 -->, which will importing the <!-- /react-text --><code data-reactid="406"><!-- react-text: 407 -->less<!-- /react-text --></code><!-- react-text: 408 --> version of antd.<!-- /react-text --></p></li><li data-reactid="409"><p data-reactid="410"><!-- react-text: 411 -->If you import styles from <!-- /react-text --><code data-reactid="412"><!-- react-text: 413 -->&#x27;antd/dist/antd.css&#x27;<!-- /react-text --></code><!-- react-text: 414 -->, change it to <!-- /react-text --><code data-reactid="415"><!-- react-text: 416 -->antd/dist/antd.less<!-- /react-text --></code><!-- react-text: 417 -->.<!-- /react-text --></p></li></ul></li><li data-reactid="418"><p data-reactid="419"><!-- react-text: 420 -->When using <!-- /react-text --><code data-reactid="421"><!-- react-text: 422 -->dva-cli@0.7.0+<!-- /react-text --></code><!-- react-text: 423 -->, you should add the <!-- /react-text --><code data-reactid="424"><!-- react-text: 425 -->theme<!-- /react-text --></code><!-- react-text: 426 --> block to <!-- /react-text --><a href="https://github.com/dvajs/dva-example-user-dashboard/commit/d6da33b3a6e18eb7f003752a4b00b5a660747c31" data-reactid="427"><!-- react-text: 428 -->.roadhogrc<!-- /react-text --></a><!-- react-text: 429 --> instead of <!-- /react-text --><code data-reactid="430"><!-- react-text: 431 -->package.json<!-- /react-text --></code><!-- react-text: 432 -->.<!-- /react-text --></p></li><li data-reactid="433"><p data-reactid="434"><!-- react-text: 435 -->If you want to override <!-- /react-text --><code data-reactid="436"><!-- react-text: 437 -->@icon-url<!-- /react-text --></code><!-- react-text: 438 -->, the quotes must be contained in value like <!-- /react-text --><code data-reactid="439"><!-- react-text: 440 -->&quot;@icon-url&quot;: &quot;&#x27;your-icon-font-path&#x27;&quot;<!-- /react-text --></code><!-- react-text: 441 --> (<!-- /react-text --><a href="https://github.com/visvadw/dvajs-user-dashboard/pull/2" data-reactid="442"><!-- react-text: 443 -->A fix sample<!-- /react-text --></a><!-- react-text: 444 -->).<!-- /react-text --></p></li></ul><h3 id="2)-Overriding-Less-variables-(alternative-way)" data-reactid="445"><span data-reactid="446"><!-- react-text: 447 -->2) Overriding Less variables (alternative way)<!-- /react-text --></span><a href="#2)-Overriding-Less-variables-(alternative-way)" class="anchor" data-reactid="448">#</a></h3><p data-reactid="449"><!-- react-text: 450 -->Override variables via less definition files.<!-- /react-text --></p><p data-reactid="451"><!-- react-text: 452 -->Create a standalone less file like the one below, and import it in your project.<!-- /react-text --></p><pre class="language-css" data-reactid="453"><code data-reactid="454"><span class="token atrule"><span class="token rule">@import</span> <span class="token string">"~antd/dist/antd.less"</span><span class="token punctuation">;</span></span> // import official less entry file
<span class="token atrule"><span class="token rule">@import</span> <span class="token string">"your-theme-file.less"</span><span class="token punctuation">;</span></span> // override variables here</code></pre><p data-reactid="455"><!-- react-text: 456 -->Note: This way will load the styles of all components, regardless of your demand, which cause <!-- /react-text --><code data-reactid="457"><!-- react-text: 458 -->style<!-- /react-text --></code><!-- react-text: 459 --> option of <!-- /react-text --><code data-reactid="460"><!-- react-text: 461 -->babel-plugin-import<!-- /react-text --></code><!-- react-text: 462 --> not working.<!-- /react-text --></p></section></article></div></div><div class="ant-row" data-reactid="463"><div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-18 ant-col-md-offset-6 ant-col-lg-20 ant-col-lg-offset-4" data-reactid="464"><section class="prev-next-nav" data-reactid="465"><a class="prev-page" href="/docs/react/use-with-create-react-app" data-reactid="466">Use in create-react-app</a><a class="next-page" href="/changelog" data-reactid="467">Change Log</a></section></div></div></div><footer id="footer" data-reactid="468"><ul data-reactid="469"><li data-reactid="470"><h2 data-reactid="471"><i class="anticon anticon-github" data-reactid="472"></i><!-- react-text: 473 --> GitHub<!-- /react-text --></h2><div data-reactid="474"><a target="_blank " href="https://github.com/ant-design/ant-design" data-reactid="475"><span data-reactid="476">Repository</span></a></div><div data-reactid="477"><a target="_blank " href="https://ant.design/docs/react/customize-theme" data-reactid="478"><span data-reactid="479">Customize Theme</span></a></div><div data-reactid="480"><a target="_blank " href="https://github.com/websemantics/awesome-ant-design" data-reactid="481"><span data-reactid="482">Awesome Ant Design</span></a></div></li><li data-reactid="483"><h2 data-reactid="484"><i class="anticon anticon-link" data-reactid="485"></i><!-- react-text: 486 --> <!-- /react-text --><span data-reactid="487">Links</span></h2><div data-reactid="488"><a href="https://design.alipay.com/" data-reactid="489"><span data-reactid="490">Ant Financial Design Platform</span></a></div><div data-reactid="491"><a href="http://mobile.ant.design" data-reactid="492">Ant Design Mobile</a><span data-reactid="493"> - </span><span data-reactid="494">Mobile UI</span></div><div data-reactid="495"><a target="_blank" rel="noopener noreferrer" href="https://github.com/dvajs/dva" data-reactid="496">dva</a><!-- react-text: 497 --> - <!-- /react-text --><span data-reactid="498">Framework</span></div><div data-reactid="499"><a target="_blank" rel="noopener noreferrer" href="https://github.com/dvajs/dva-cli" data-reactid="500">dva-cli</a><!-- react-text: 501 --> -<!-- /react-text --><span data-reactid="502">Developer Tools</span></div><div data-reactid="503"><a target="_blank" rel="noopener noreferrer" href="https://eggjs.org/" data-reactid="504">Egg</a><span data-reactid="505"> - </span><span data-reactid="506">Enterprise Node Framework</span></div><div data-reactid="507"><a target="_blank" rel="noopener noreferrer" href="https://antv.alipay.com/" data-reactid="508">AntV</a><span data-reactid="509"> - </span><span data-reactid="510">Data Visualization</span></div><div data-reactid="511"><a target="_blank" rel="noopener noreferrer" href="http://motion.ant.design" data-reactid="512">Ant Motion</a><span data-reactid="513"> - </span><span data-reactid="514">Motion Soluction</span></div><div data-reactid="515"><a target="_blank" rel="noopener noreferrer" href="http://library.ant.design/" data-reactid="516">AntD Library</a><span data-reactid="517"> - </span><span data-reactid="518">Axure library</span></div><div data-reactid="519"><a target="_blank" rel="noopener noreferrer" href="http://ux.ant.design" data-reactid="520">Ant UX</a><span data-reactid="521"> - </span><span data-reactid="522">Sitemap Template</span></div></li><li data-reactid="523"><h2 data-reactid="524"><i class="anticon anticon-customer-service" data-reactid="525"></i><!-- react-text: 526 --> <!-- /react-text --><span data-reactid="527">Community</span></h2><div data-reactid="528"><a href="/changelog" data-reactid="529"><span data-reactid="530">Change Log</span></a></div><div data-reactid="531"><a target="_blank" rel="noopener noreferrer" href="https://github.com/ant-design/ant-design/wiki/FAQ" data-reactid="532"><span data-reactid="533">FAQ</span></a></div><div data-reactid="534"><a target="_blank" rel="noopener noreferrer" href="https://gitter.im/ant-design/ant-design" data-reactid="535"><span data-reactid="536">Chat Room (中文)</span></a></div><div data-reactid="537"><a target="_blank" rel="noopener noreferrer" href="https://gitter.im/ant-design/ant-design-english" data-reactid="538"><span data-reactid="539">Chat Room (English)</span></a></div><div data-reactid="540"><a target="_blank" rel="noopener noreferrer" href="http://new-issue.ant.design/" data-reactid="541"><span data-reactid="542">Bug Report</span></a></div><div data-reactid="543"><a target="_blank" rel="noopener noreferrer" href="https://github.com/ant-design/ant-design/issues" data-reactid="544"><span data-reactid="545">Issues</span></a></div><div data-reactid="546"><a target="_blank" rel="noopener noreferrer" href="http://stackoverflow.com/questions/tagged/antd" data-reactid="547"><span data-reactid="548">StackOverflow</span></a></div><div data-reactid="549"><a target="_blank" rel="noopener noreferrer" href="https://segmentfault.com/t/antd" data-reactid="550"><span data-reactid="551">SegmentFault</span></a></div></li><li data-reactid="552"><h2 data-reactid="553"><!-- react-text: 554 -->Copyright © <!-- /react-text --><!-- react-text: 555 -->2017<!-- /react-text --></h2><div data-reactid="556"><span data-reactid="557">Created by AIUX</span></div><div data-reactid="558"><!-- react-text: 559 -->Built with <!-- /react-text --><a target="_blank" rel="noopener noreferrer" href="https://github.com/benjycui/bisheng" data-reactid="560">BiSheng</a></div></li></ul></footer></div>
</div>
<script src="/common.js"></script>
<script src="/index.js"></script>
</body>
</html>