.#{$prefix}form-file-btn { overflow: hidden; position: relative; } .#{$prefix}form-file-input { border: 0; // disables the focus border in old IE position: absolute; cursor: pointer; top: 0; right: 0; width: 100%; height: 100%; overflow: hidden; // Disable blinking caret in IE text-indent: -10000px; @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: 1000px; } @if $include-rtl { .#{$prefix}rtl.#{$prefix}form-file-input { right: auto; left: 0; } }