_fieldset.scss (4589B)
1 /** 2 * Creates the base structure of FieldSet. 3 * @member Ext.form.FieldSet 4 */ 5 @mixin extjs-form-fieldset { 6 .#{$prefix}fieldset { 7 border: $fieldset-border; 8 9 padding: $fieldset-padding; 10 margin-bottom: $fieldset-padding; 11 12 display: block; /* preserve margins in IE */ 13 position: relative; 14 } 15 16 // Insane IE bug: Fieldset padding-top is rendered *outside* the border! 17 // So we transfer the padding-top to the body element. 18 .#{$prefix}ie .#{$prefix}fieldset { 19 padding-top: 0; 20 .#{$prefix}fieldset-body { 21 padding-top: $fieldset-padding; 22 } 23 } 24 25 .#{$prefix}fieldset-header-checkbox { 26 line-height: $fieldset-header-line-height; 27 } 28 29 .#{$prefix}fieldset-header { 30 font: $fieldset-header-font; 31 color: $fieldset-header-color; 32 padding: $fieldset-header-padding; 33 overflow: hidden; // fixes a webkit bug where legend elements that have floated children are not displayed 34 35 .#{$prefix}fieldset-header-text { 36 float: left; 37 padding: 1px 0; 38 } 39 .#{$prefix}fieldset-header-text-collapsible { 40 cursor: pointer; 41 } 42 43 .#{$prefix}form-item, 44 .#{$prefix}tool { 45 float: left; 46 margin: 1px 0 0 0; 47 } 48 49 .#{$prefix}form-cb-wrap { 50 padding: 1px 0; 51 font-size: 0; 52 line-height: 0; 53 } 54 } 55 56 .#{$prefix}fieldset-with-title { 57 .#{$prefix}fieldset-header-checkbox, 58 .#{$prefix}tool { 59 margin-right: 3px; 60 } 61 } 62 63 // Use Webkit's built-in fieldset legend padding which takes precedence over padding-left/right 64 .#{$prefix}webkit { 65 .#{$prefix}fieldset-header { 66 -webkit-padding-start: #{left($fieldset-header-padding)}; 67 -webkit-padding-end: #{right($fieldset-header-padding)}; 68 } 69 } 70 71 // opera renders an invisible border above the fieldset in addition to the normal border when the fieldset has a legend. 72 // To compensate for this, give the fieldset a negative top margin equal to the top border width. 73 @if $include-opera { 74 .#{$prefix}opera { 75 .#{$prefix}fieldset-with-legend { 76 margin-top: -#{top($fieldset-border-width)}; 77 } 78 &.#{$prefix}mac .#{$prefix}fieldset-header-text { 79 padding: 2px 0 0; 80 } 81 } 82 } 83 // IE8 strict has a problem similar to opera's, except the invisible top border only changes the position of 84 // the legend element, so we have to adjust the position of the legend using a negative top margin. 85 @if $include-ie { 86 .#{$prefix}strict .#{$prefix}ie8 .#{$prefix}fieldset-header { 87 margin-bottom: -#{top($fieldset-border-width)}; 88 .#{$prefix}tool, 89 .#{$prefix}fieldset-header-text, 90 .#{$prefix}fieldset-header-checkbox { 91 position: relative; 92 top: -#{top($fieldset-border-width)}; 93 } 94 } 95 } 96 97 @if $include-ie { 98 .#{$prefix}quirks .#{$prefix}ie, 99 .#{$prefix}ie8m { 100 .#{$prefix}fieldset-header { 101 padding-left: #{left($fieldset-header-padding) - 2}; 102 padding-right: #{right($fieldset-header-padding) - 2}; 103 } 104 } 105 } 106 107 .#{$prefix}fieldset-collapsed { 108 .#{$prefix}fieldset-body { 109 display: none; 110 } 111 } 112 113 .#{$prefix}fieldset-collapsed { 114 padding-bottom: 0 !important; 115 116 border-width: 1px 1px 0 1px !important; 117 border-left-color: transparent !important; 118 border-right-color: transparent !important; 119 } 120 121 @if $include-ie { 122 .#{$prefix}ie6 .#{$prefix}fieldset-collapsed { 123 border-width: 1px 0 0 0 !important; 124 125 padding-bottom: 0 !important; 126 margin-left: 1px; 127 margin-right: 1px; 128 } 129 130 .#{$prefix}ie .#{$prefix}fieldset-bwrap { 131 zoom: 1; 132 } 133 } 134 135 @if $include-ie { 136 /* IE legend positioning bug */ 137 .#{$prefix}ie .#{$prefix}fieldset-noborder legend { 138 position: relative; 139 140 margin-bottom: 23px; 141 } 142 143 .#{$prefix}ie .#{$prefix}fieldset-noborder legend span { 144 position: absolute; 145 left: 16px; 146 } 147 } 148 149 .#{$prefix}fieldset { 150 overflow: hidden; 151 } 152 153 .#{$prefix}fieldset-bwrap { 154 overflow: hidden; 155 156 zoom: 1; 157 } 158 159 .#{$prefix}fieldset-body { 160 overflow: hidden; 161 } 162 }