TabContainer.css 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. /* TabContainer
  2. *
  3. * Styling TabContainer means styling the TabList and Its content container (dijitTitlePane)
  4. *
  5. * Tab List: (including 4 kinds of tab location)
  6. * .dijitTabContainerTop-tabs - tablist container at top
  7. * .dijitTabContainerBottom-tabs - tablist container at bottom
  8. * .dijitTabContainerLeft-tabs - tablist container at left
  9. * .dijitTabContainerRight-tabs - tablist container at right
  10. *
  11. * Tab Strip Button:
  12. * .dijitTabStripIcon - tab strip button icon
  13. * .dijitTabStripMenuIcon - down arrow icon position
  14. * .dijitTabStripSlideLeftIcon - left arrow icon position
  15. * .dijitTabStripSlideRightIcon - right arrow icon position
  16. *
  17. * .tabStripButtonDisabled - styles for disabled tab strip buttons
  18. *
  19. * Tab Button:
  20. * .dijitTabContainerTop-tabs .dijitTabInnerDiv/.dijitTabContent - styles for top tab button container
  21. * .dijitTabContainerBottom-tabs .dijitTabInnerDiv/.dijitTabContent - styles for bottom tab button container
  22. * .dijitTabContainerLeft-tabs .dijitTabInnerDiv/.dijitTabContent - styles for left tab button container
  23. * .dijitTabContainerRight-tabs .dijitTabInnerDiv/.dijitTabContent - styles for right tab button container
  24. *
  25. * .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv/.dijitTabContent
  26. * - styles for selected status of top tab button
  27. * same to Bottom, Left, Right Tabs
  28. *
  29. * .dijitTabHover .dijitTabInnerDiv - styles when mouse hover on tab buttons
  30. * .dijitTabActive .dijitTabInnerDiv - styles when mouse down on tab buttons
  31. * .dijitTabChecked .dijitTabInnerDiv - styles when on buttons of selected tab
  32. *
  33. * .dijitTabCloseButton - the close action buttons lie at the right top of each tab button on closable tabs
  34. * .dijitTabCloseButtonHover - styles when mouse hover on close action button
  35. * .dijitTabCloseButtonActive - styles when mouse down on close action button
  36. *
  37. * Tab Button: (checked status)
  38. *
  39. * Tab Content Container:
  40. * .dijitTabContainerTop-dijitContentPane
  41. * .dijitTabContainerBottom-dijitContentPane
  42. * .dijitTabContainerLeft-dijitContentPane
  43. * .dijitTabContainerRight-dijitContentPane - for background and padding
  44. *
  45. * Nested Tabs:
  46. * .dijitTabContainerNested - Container for nested tabs
  47. * .dijitTabContainerTabListNested - tab list container for nested tabs
  48. */
  49. /*** some common features ***/
  50. .claro .dijitTabPaneWrapper {
  51. background: #ffffff;
  52. }
  53. .claro .dijitTabPaneWrapper,
  54. .claro .dijitTabContainerTop-tabs,
  55. .claro .dijitTabContainerBottom-tabs,
  56. .claro .dijitTabContainerLeft-tabs,
  57. .claro .dijitTabContainerRight-tabs {
  58. /* todo: add common class name for this div */
  59. border-color: #b5bcc7;
  60. }
  61. .claro .dijitTabCloseButton {
  62. background: url("images/tabClose.png") no-repeat;
  63. width: 14px;
  64. height: 14px;
  65. margin-left: 5px;
  66. margin-right: -5px;
  67. }
  68. .claro .dijitTabCloseButtonHover {
  69. background-position: -14px;
  70. }
  71. .claro .dijitTabCloseButtonActive {
  72. background-position: -28px;
  73. }
  74. .claro .dijitTabSpacer {
  75. /* set the spacer invisible. note that height:0 doesn't work on IE/quirks, it's still 10px. */
  76. display: none;
  77. }
  78. .claro .dijitTabInnerDiv {
  79. background-color: #efefef;
  80. -webkit-transition-property: background-color, border;
  81. -moz-transition-property: background-color, border;
  82. transition-property: background-color, border;
  83. -webkit-transition-duration: 0.35s;
  84. -moz-transition-duration: 0.35s;
  85. transition-duration: 0.35s;
  86. color: #4a4a4a;
  87. }
  88. .claro .dijitTabHover .dijitTabInnerDiv {
  89. background-color: #abd6ff;
  90. -webkit-transition-duration: 0.25s;
  91. -moz-transition-duration: 0.25s;
  92. transition-duration: 0.25s;
  93. color: #000000;
  94. }
  95. .claro .dijitTabActive .dijitTabInnerDiv {
  96. background-color: #7dbefa;
  97. color: #000000;
  98. -webkit-transition-duration: 0.1s;
  99. -moz-transition-duration: 0.1s;
  100. transition-duration: 0.1s;
  101. }
  102. .claro .dijitTabChecked .dijitTabInnerDiv {
  103. background-color: #cfe5fa;
  104. color: #000000;
  105. }
  106. .claro .dijitTabContent {
  107. border: 1px solid #b5bcc7;
  108. }
  109. .claro .dijitTabHover .dijitTabContent {
  110. border-color: #769dc0;
  111. }
  112. .claro .dijitTabActive .dijitTabContent {
  113. border-color: #769dc0;
  114. }
  115. .claro .dijitTabChecked .dijitTabContent {
  116. color: #000000;
  117. border-color: #b5bcc7;
  118. }
  119. .claro .tabStripButton .dijitTabInnerDiv {
  120. background-color: transparent;
  121. }
  122. .claro .tabStripButton .dijitTabContent {
  123. border: none;
  124. }
  125. /*** end common ***/
  126. /*************** top tab ***************/
  127. .claro .dijitTabContainerTop-tabs .dijitTab {
  128. top: 1px;
  129. /* used for overlap */
  130. margin-right: 1px;
  131. padding-top: 3px;
  132. }
  133. .dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTab {
  134. top: 3px;
  135. }
  136. /* for top tab padding. change height when status changes */
  137. .claro .dijitTabContainerTop-tabs .dijitTabContent {
  138. padding: 3px 6px;
  139. border-bottom-width: 0;
  140. background-image: url("images/tabTop.png");
  141. background-position: 0 0;
  142. background-repeat: repeat-x;
  143. min-width: 60px;
  144. text-align: center;
  145. }
  146. .claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent {
  147. padding-bottom: 4px;
  148. padding-top: 6px;
  149. }
  150. /* normal status */
  151. .claro .dijitTabContainerTop-tabs .dijitTabInnerDiv {
  152. background-image: url("images/tabTop.png");
  153. background-position: 0 -248px;
  154. background-position: bottom;
  155. background-repeat: repeat-x;
  156. -webkit-box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04);
  157. -moz-box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04);
  158. box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04);
  159. }
  160. /* checked status */
  161. .claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv {
  162. background-image: none;
  163. -webkit-box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05);
  164. -moz-box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05);
  165. box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05);
  166. }
  167. .claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent {
  168. background-position: 0 -102px;
  169. background-repeat: repeat-x;
  170. }
  171. /** end top tab **/
  172. /*************** bottom tab ***************/
  173. .claro .dijitTabContainerBottom-tabs .dijitTab {
  174. top: -1px;
  175. /* used for overlap */
  176. margin-right: 1px;
  177. }
  178. /* calculate the position and size */
  179. .claro .dijitTabContainerBottom-tabs .dijitTabContent {
  180. padding: 3px 6px;
  181. border-top-width: 0;
  182. background-image: url("images/tabBottom.png");
  183. background-position: 0 -249px;
  184. background-repeat: repeat-x;
  185. background-position: bottom;
  186. min-width: 60px;
  187. text-align: center;
  188. }
  189. .claro .dijitTabContainerBottom-tabs .dijitTab {
  190. padding-bottom: 3px;
  191. }
  192. /* normal status */
  193. .claro .dijitTabContainerBottom-tabs .dijitTabInnerDiv {
  194. background-image: url("images/tabBottom.png");
  195. background-position: top;
  196. background-repeat: repeat-x;
  197. -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
  198. -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
  199. box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
  200. }
  201. /* checked status */
  202. .claro .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabContent {
  203. padding-bottom: 7px;
  204. padding-top: 4px;
  205. background-position: 0 -119px;
  206. }
  207. .claro .dijitTabContainerBottom-tabs .dijitTabChecked {
  208. padding-bottom: 0;
  209. }
  210. .claro .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabInnerDiv {
  211. background-image: none;
  212. -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  213. -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  214. box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  215. }
  216. /** end bottom tab **/
  217. /*************** left tab ***************/
  218. .claro .dijitTabContainerLeft-tabs .dijitTab {
  219. border-right-width: 0;
  220. left: 1px;
  221. /* used for overlap */
  222. margin-bottom: 1px;
  223. }
  224. /* normal status */
  225. .claro .dijitTabContainerLeft-tabs .dijitTabInnerDiv {
  226. background-image: url("images/tabLeft.png");
  227. background-position: -347px -340px;
  228. background-repeat: repeat-y;
  229. }
  230. .claro .dijitTabContainerLeft-tabs .dijitTabContent {
  231. padding: 3px 8px 4px 4px;
  232. background-image: url("images/tabLeft.png");
  233. background-repeat: repeat-y;
  234. background-position: 0 0;
  235. }
  236. /* checked status */
  237. .claro .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabContent {
  238. padding-right: 9px;
  239. border-right: none;
  240. background-image: none;
  241. }
  242. .claro .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabInnerDiv {
  243. background-position: 0 -179px;
  244. background-repeat: repeat-y;
  245. -webkit-box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05);
  246. -moz-box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05);
  247. box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05);
  248. }
  249. /** end left tab **/
  250. /*************** right tab ***************/
  251. .claro .dijitTabContainerRight-tabs .dijitTab {
  252. border-left-width: 0;
  253. left: -1px;
  254. /* used for overlap */
  255. margin-bottom: 1px;
  256. }
  257. /* normal status */
  258. .claro .dijitTabContainerRight-tabs .dijitTabInnerDiv {
  259. background-image: url("images/tabRight.png");
  260. background-repeat: repeat-y;
  261. background-position: -1px -347px;
  262. }
  263. .claro .dijitTabContainerRight-tabs .dijitTabContent {
  264. padding: 3px 8px 4px 4px;
  265. background-image: url("images/tabRight.png");
  266. background-position: right top;
  267. background-repeat: repeat-y;
  268. }
  269. /* checked status */
  270. .claro .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabContent {
  271. padding-left: 5px;
  272. border-left: none;
  273. background-image: none;
  274. }
  275. .claro .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabInnerDiv {
  276. background-position: -348px -179px;
  277. -webkit-box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07);
  278. -moz-box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07);
  279. box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07);
  280. }
  281. /** end right tab **/
  282. /** round corner **/
  283. .claro .dijitTabContainerTop-tabs .dijitTabInnerDiv, .claro .dijitTabContainerTop-tabs .dijitTabContent {
  284. -moz-border-radius: 2px 2px 0 0;
  285. border-radius: 2px 2px 0 0;
  286. }
  287. .claro .dijitTabContainerBottom-tabs .dijitTabInnerDiv, .claro .dijitTabContainerBottom-tabs .dijitTabContent {
  288. -moz-border-radius: 0 0 2px 2px;
  289. border-radius: 0 0 2px 2px;
  290. }
  291. .claro .dijitTabContainerLeft-tabs .dijitTabInnerDiv, .claro .dijitTabContainerLeft-tabs .dijitTabContent {
  292. -moz-border-radius: 2px 0 0 2px;
  293. border-radius: 2px 0 0 2px;
  294. }
  295. .claro .dijitTabContainerRight-tabs .dijitTabInnerDiv, .claro .dijitTabContainerRight-tabs .dijitTabContent {
  296. -moz-border-radius: 0 2px 2px 0;
  297. border-radius: 0 2px 2px 0;
  298. }
  299. /************ left/right scroll buttons + menu button ************/
  300. .claro .tabStripButton {
  301. background-color: #e9f4fe;
  302. border: 1px solid #b5bcc7;
  303. }
  304. .claro .dijitTabListContainer-top .tabStripButton {
  305. padding: 4px 3px;
  306. margin-top: 7px;
  307. background-image: url("images/tabTop.png");
  308. background-position: 0 0;
  309. }
  310. .claro .dijitTabListContainer-bottom .tabStripButton {
  311. padding: 5px 3px;
  312. margin-bottom: 4px;
  313. background-image: url("images/tabTop.png");
  314. background-position: 0 -248px;
  315. background-position: bottom;
  316. }
  317. .claro .tabStripButtonHover {
  318. background-color: #abd6ff;
  319. }
  320. .claro .tabStripButtonActive {
  321. background-color: #7dbefa;
  322. }
  323. .claro .dijitTabStripIcon {
  324. height: 15px;
  325. width: 15px;
  326. margin: 0 auto;
  327. background: url("../form/images/buttonArrows.png") no-repeat -75px 50%;
  328. background-color: transparent;
  329. }
  330. .claro .dijitTabStripSlideRightIcon {
  331. background-position: -24px 50%;
  332. }
  333. .claro .dijitTabStripMenuIcon {
  334. background-position: -51px 50%;
  335. }
  336. /*disabled styles for tab strip buttons*/
  337. .claro .dijitTabListContainer-top .tabStripButtonDisabled, .claro .dijitTabListContainer-bottom .tabStripButtonDisabled {
  338. background-color: #d3d3d3;
  339. border: 1px solid #b5bcc7;
  340. /* to match border of TabContainer itself */
  341. }
  342. .claro .tabStripButtonDisabled .dijitTabStripSlideLeftIcon {
  343. background-position: -175px 50%;
  344. }
  345. .claro .tabStripButtonDisabled .dijitTabStripSlideRightIcon {
  346. background-position: -124px 50%;
  347. }
  348. .claro .tabStripButtonDisabled .dijitTabStripMenuIcon {
  349. background-position: -151px 50%;
  350. }
  351. /* Nested Tabs */
  352. .claro .dijitTabContainerNested .dijitTabListWrapper {
  353. height: auto;
  354. }
  355. .claro .dijitTabContainerNested .dijitTabContainerTop-tabs {
  356. border-bottom: solid 1px #b5bcc7;
  357. padding: 1px 2px 4px;
  358. margin-top: -2px;
  359. }
  360. .claro .dijitTabContainerTabListNested .dijitTabContent {
  361. background: rgba(255, 255, 255, 0) none repeat scroll 0 0;
  362. border: none;
  363. padding: 4px;
  364. border-color: rgba(118, 157, 192, 0);
  365. -webkit-transition-property: background-color, border-color;
  366. -moz-transition-property: background-color, border-color;
  367. transition-property: background-color, border-color;
  368. -webkit-transition-duration: 0.3s;
  369. -moz-transition-duration: 0.3s;
  370. transition-duration: 0.3s;
  371. -moz-border-radius: 2px;
  372. border-radius: 2px;
  373. }
  374. .claro .dijitTabContainerTabListNested .dijitTab .dijitTabInnerDiv {
  375. /* 4 element selector to override box-shadow setting from above rule:
  376. * .claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv { ... }
  377. */
  378. background: none;
  379. border: none;
  380. top: 0;
  381. /* to override top: 1px/-1px for normal tabs */
  382. -webkit-box-shadow: none;
  383. -moz-box-shadow: none;
  384. box-shadow: none;
  385. }
  386. .claro .dijitTabContainerTabListNested .dijitTabHover .dijitTabContent {
  387. background-color: #e9f4fe;
  388. border: solid 1px #cfe5fa;
  389. padding: 3px;
  390. -webkit-transition-duration: 0.2s;
  391. -moz-transition-duration: 0.2s;
  392. transition-duration: 0.2s;
  393. }
  394. .claro .dijitTabContainerTabListNested .dijitTabHover .tabLabel {
  395. text-decoration: none;
  396. }
  397. .claro .dijitTabContainerTabListNested .dijitTabActive .dijitTabContent {
  398. border: solid 1px #769dc0;
  399. padding: 3px;
  400. background: #abd6ff url("images/tabNested.png") repeat-x;
  401. -webkit-transition-duration: 0.1s;
  402. -moz-transition-duration: 0.1s;
  403. transition-duration: 0.1s;
  404. }
  405. .claro .dijitTabContainerTabListNested .dijitTabChecked .dijitTabContent {
  406. padding: 3px;
  407. border: solid 1px #769dc0;
  408. background-position: 0 105px;
  409. background-color: #cfe5fa;
  410. }
  411. .claro .dijitTabContainerTabListNested .dijitTabChecked .tabLabel {
  412. text-decoration: none;
  413. background-image: none;
  414. }
  415. .claro .dijitTabPaneWrapperNested {
  416. border: none;
  417. /* prevent double border */
  418. }
  419. .dj_ie6 .claro .dijitTabContent,
  420. .dj_ie6 .claro .dijitTabInnerDiv,
  421. .dj_ie6 .dijitTabListContainer-top .tabStripButton,
  422. .dj_ie6 .dijitTabListContainer-bottom .tabStripButton {
  423. background-image: none;
  424. }
  425. .claro .dijitTabFocused .dijitTabContent > * {
  426. *border: dotted 1px gray;
  427. }