/* TabContainer * * Styling TabContainer means styling the TabList and Its content container (dijitTitlePane) * * Tab List: (including 4 kinds of tab location) * .dijitTabContainerTop-tabs - tablist container at top * .dijitTabContainerBottom-tabs - tablist container at bottom * .dijitTabContainerLeft-tabs - tablist container at left * .dijitTabContainerRight-tabs - tablist container at right * * Tab Strip Button: * .dijitTabStripIcon - tab strip button icon * .dijitTabStripMenuIcon - down arrow icon position * .dijitTabStripSlideLeftIcon - left arrow icon position * .dijitTabStripSlideRightIcon - right arrow icon position * * .tabStripButtonDisabled - styles for disabled tab strip buttons * * Tab Button: * .dijitTabContainerTop-tabs .dijitTab - styles for top tab button container * .dijitTabContainerBottom-tabs .dijitTab - styles for bottom tab button container * .dijitTabContainerLeft-tabs .dijitTab - styles for left tab button container * .dijitTabContainerRight-tabs .dijitTab - styles for right tab button container * * .dijitTabContainerTop-tabs .dijitTabChecked .dijitTab * - styles for selected status of top tab button * same to Bottom, Left, Right Tabs * * .dijitTabHover .dijitTab - styles when mouse hover on tab buttons * .dijitTabActive .dijitTab - styles when mouse down on tab buttons * .dijitTabChecked .dijitTab - styles when on buttons of selected tab * * .dijitTabCloseButton - the close action buttons lie at the right top of each tab button on closable tabs * .dijitTabCloseButtonHover - styles when mouse hover on close action button * .dijitTabCloseButtonActive - styles when mouse down on close action button * * Tab Button: (checked status) * * Tab Content Container: * .dijitTabContainerTop-dijitContentPane * .dijitTabContainerBottom-dijitContentPane * .dijitTabContainerLeft-dijitContentPane * .dijitTabContainerRight-dijitContentPane - for background and padding * * Nested Tabs: * .dijitTabContainerNested - Container for nested tabs * .dijitTabContainerTabListNested - tab list container for nested tabs */ @import "../variables"; .unselected-tab-gradient (@direction) { // white line, dark line, then fade from light to dark .alpha-white-gradient (@direction, 1,0px, 1,1px, 0.1,2px, 0.6,7px, 0,100%); } .topBottom-selected-tab-gradient (@direction) { .alpha-white-gradient (@direction, 1,0px, 1,1px, 0,2px, 1,7px); // white line, blue line, remainder white } /*** some common features ***/ .claro .dijitTabPaneWrapper { background:@pane-background-color; } .claro .dijitTabPaneWrapper, .claro .dijitTabContainerTop-tabs, .claro .dijitTabContainerBottom-tabs, .claro .dijitTabContainerLeft-tabs, .claro .dijitTabContainerRight-tabs { /* todo: add common class name for this div */ border-color: @border-color; } .claro .dijitTabCloseButton { background: url("../@{image-layout-tab-close}") no-repeat; width: 14px; height: 14px; margin-left: 5px; margin-right:-5px; } .claro .dijitTabCloseButtonHover { background-position:-14px; } .claro .dijitTabCloseButtonActive { background-position:-28px; } .claro .dijitTabSpacer { /* set the spacer invisible. note that height:0 doesn't work on IE/quirks, it's still 10px. */ display: none; } .claro .dijitTab { border: 1px solid @border-color; background-color:@unselected-background-color; .transition-property(background-color, border); .transition-duration(.35s); color:@unselected-text-color; } .claro .dijitTabHover { border-color: @hovered-border-color; background-color:@hovered-background-color; .transition-duration(.25s); color:@hovered-text-color; } .claro .dijitTabActive { border-color: @pressed-border-color; background-color:@pressed-background-color; color:@selected-text-color; .transition-duration(.1s); } .claro .dijitTabChecked { // selected tab border-color: @border-color; // don't use @selected-border-color because need to match border of TabContainer background-color: @selected-background-color; color: @selected-text-color; } .claro .dijitTabDisabled { background-color: @tab-disabled-background-color; } .claro .tabStripButton { background-color: transparent; border: none; } /*** end common ***/ /*************** top tab ***************/ .claro .dijitTabContainerTop-tabs .dijitTab { /* unselected (and not hovered/pressed) tab */ top: 1px; /* used for overlap */ margin-right: 1px; padding:3px 6px; border-bottom-width: 0; min-width: 60px; text-align: center; // gradient (CSS gradient, with backup image for IE6-9) background-image: url("images/tabTopUnselected.png"); background-repeat: repeat-x; .unselected-tab-gradient(top); .box-shadow(0 -1px 1px rgba(0, 0, 0, 0.04)); } .claro .dijitTabContainerTop-tabs .dijitTabChecked { /* selected tab */ padding-bottom: 4px; padding-top: 9px; // gradient (CSS gradient, with backup image for IE6-9) background-image: url("images/tabTopSelected.png"); .topBottom-selected-tab-gradient (top); .box-shadow(0 -1px 2px rgba(0, 0, 0, 0.05)); } /** end top tab **/ /*************** bottom tab ***************/ .claro .dijitTabContainerBottom-tabs .dijitTab { /* unselected (and not hovered/pressed) tab */ top: -1px; /* used for overlap */ margin-right: 1px; padding:3px 6px; border-top-width: 0; min-width: 60px; text-align: center; // gradient (CSS gradient, with backup image for IE6-9) background-image: url("images/tabBottomUnselected.png"); background-repeat: repeat-x; background-position: bottom; .unselected-tab-gradient(bottom); .box-shadow(0 1px 1px rgba(0, 0, 0, 0.04)); } /* selected tab */ .claro .dijitTabContainerBottom-tabs .dijitTabChecked { padding-bottom: 9px; padding-top: 4px; // gradient (CSS gradient, with backup image for IE6-9) background-image: url("images/tabBottomSelected.png"); .topBottom-selected-tab-gradient (bottom); .box-shadow(0 1px 2px rgba(0, 0, 0, 0.05)); } /** end bottom tab **/ /*************** left tab ***************/ .claro .dijitTabContainerLeft-tabs .dijitTab { /* unselected (and not hovered/pressed) tab */ left: 1px; /* used for overlap */ margin-bottom: 1px; padding:3px 8px 4px 4px; // gradient (CSS gradient, with backup image for IE6-9) background-image: url("images/tabLeftUnselected.png"); background-repeat: repeat-y; .unselected-tab-gradient(left); } /* selected tab */ .claro .dijitTabContainerLeft-tabs .dijitTabChecked { border-right-width: 0; padding-right: 9px; // gradient (CSS gradient, with backup image for IE6-9) background-image: url("images/tabLeftSelected.png"); .alpha-white-gradient (left, 0.5,0px, 1,30px); // 1/2 inch blue gradient, remainder white .box-shadow(-1px 0 2px rgba(0, 0, 0, .05)); } /** end left tab **/ /*************** right tab ***************/ .claro .dijitTabContainerRight-tabs .dijitTab { /* unselected (and not hovered/pressed) tab */ left: -1px; /* used for overlap */ margin-bottom: 1px; padding:3px 8px 4px 4px; // gradient (CSS gradient, with backup image for IE6-9) background-image: url("images/tabRightUnselected.png"); background-repeat: repeat-y; background-position: right; .unselected-tab-gradient(right); } .claro .dijitTabContainerRight-tabs .dijitTabChecked { /* selected tab */ padding-left: 5px; border-left-width: 0; // gradient (CSS gradient, with backup image for IE6-9) background-image: url("images/tabRightSelected.png"); .alpha-white-gradient (right, 0.5,0px, 1,30px); // 1/2 inch blue gradient, remainder white .box-shadow(1px 0 2px rgba(0, 0, 0, 0.07)); } /** end right tab **/ /** round corner **/ .claro .dijitTabContainerTop-tabs .dijitTab { .border-radius(2px 2px 0 0); } .claro .dijitTabContainerBottom-tabs .dijitTab { .border-radius(0 0 2px 2px); } .claro .dijitTabContainerLeft-tabs .dijitTab { .border-radius(2px 0 0 2px); } .claro .dijitTabContainerRight-tabs .dijitTab { .border-radius(0 2px 2px 0); } /************ left/right scroll buttons + menu button ************/ .claro .tabStripButton { background-color:@button-background-color; border: 1px solid @border-color; } .claro .dijitTabListContainer-top .tabStripButton { padding: 4px 3px; margin-top:7px; .alpha-white-gradient (top, 1,0px, 0.1,1px, 0.6,6px, 0,100%); // to match unselected tab, but had to tweak numbers } .claro .dijitTabListContainer-bottom .tabStripButton { padding:4px 3px; margin-bottom:7px; .alpha-white-gradient (bottom, 1,0px, 0.1,1px, 0.6,6px, 0,100%); // to match unselected tab, but had to tweak numbers } .claro .tabStripButtonHover { background-color:@hovered-background-color; } .claro .tabStripButtonActive { background-color:@pressed-background-color; } .claro .dijitTabStripIcon { height:15px; width:15px; margin: 0 auto; background:url("../@{image-form-button-arrows}") no-repeat -75px 50%; background-color: transparent; } .claro .dijitTabStripSlideRightIcon{ background-position: -24px 50%; } .claro .dijitTabStripMenuIcon { background-position: -51px 50%; } /*disabled styles for tab strip buttons*/ .claro .dijitTabListContainer-top .tabStripButtonDisabled, .claro .dijitTabListContainer-bottom .tabStripButtonDisabled { background-color:@tab-disabled-background-color; border:1px solid @border-color; /* to match border of TabContainer itself */ } .claro .tabStripButtonDisabled .dijitTabStripSlideLeftIcon { background-position:-175px 50%; } .claro .tabStripButtonDisabled .dijitTabStripSlideRightIcon { background-position: -124px 50%; } .claro .tabStripButtonDisabled .dijitTabStripMenuIcon { background-position: -151px 50%; } /* Nested Tabs */ .claro .dijitTabContainerNested .dijitTabListWrapper { height: auto; } .claro .dijitTabContainerNested .dijitTabContainerTop-tabs { border-bottom:solid 1px @border-color; padding:2px 2px 4px; } .claro .dijitTabContainerTabListNested .dijitTab { background:rgba(255, 255, 255, 0) none repeat scroll 0 0; border: none; padding: 4px; border-color: rgba(118,157,192,0); .transition-property(background-color, border-color); .transition-duration(.3s); .border-radius(2px); } .claro .dijitTabContainerTabListNested .dijitTab { background: none; border: none; top: 0;/* to override top: 1px/-1px for normal tabs */ .box-shadow(none); } .claro .dijitTabContainerTabListNested .dijitTabHover { background-color: @nestedtab-hovered-background-color; border:solid 1px @nestedtab-hovered-border-color; padding: 3px; // 4px above padding - 1px compensation for border .transition-duration(.2s); } .claro .dijitTabContainerTabListNested .dijitTabHover .tabLabel { text-decoration: none; } .claro .dijitTabContainerTabListNested .dijitTabActive { border:solid 1px @nestedtab-selected-border-color; padding: 3px; // CSS gradient with fallback to image for IE // this is in a weird place, only for active state; mailed Jason about it background: @nestedtab-selected-background-color url("images/tabNested.png") repeat-x; .alpha-white-gradient (0.61,0%, 0,17%, 0,83%, 0.61,100%); .transition-duration(.1s); } .claro .dijitTabContainerTabListNested .dijitTabChecked { padding: 3px; border:solid 1px @selected-border-color; background-color:@selected-background-color; } .claro .dijitTabContainerTabListNested .dijitTabChecked .tabLabel { text-decoration: none; background-image:none; } .claro .dijitTabPaneWrapperNested { border: none;/* prevent double border */ } .claro .dijitTab, .claro .tabStripButton { // IE6 can't handle background-image and background-color on same node _background-image: none !important; }