@mixin extjs-form-file { .#{$prefix}form-file-wrap { .#{$prefix}form-text { color: #777; } .#{$prefix}form-file-btn { overflow: hidden; float: left; } .#{$prefix}form-file-input { position: absolute; top: -4px; right: -2px; height: $form-field-height + 8; @include opacity(0); /* Yes, there's actually a good reason for this... * If the configured buttonText is set to something longer than the default, * then it will quickly exceed the width of the hidden file input's "Browse..." * button, so part of the custom button's clickable area will be covered by * the hidden file input's text box instead. This results in a text-selection * mouse cursor over that part of the button, at least in Firefox, which is * confusing to a user. Giving the hidden file input a huge font-size makes * the native button part very large so it will cover the whole clickable area. */ font-size: 100px; } } }