Remove some CSS outline and !important

This commit is contained in:
djmaze 2021-04-22 13:37:43 +02:00
parent 0d5ea94934
commit 1b4277c9db
18 changed files with 192 additions and 265 deletions

View file

@ -29,7 +29,6 @@
.e-item {
overflow: hidden;
text-decoration: none;
outline: 0;
}
.e-link {
@ -47,7 +46,6 @@
padding: 4px 10px;
outline: 0;
text-decoration: none;
}

View file

@ -57,7 +57,6 @@
&.disabled {
cursor: not-allowed;
opacity: 0.5;
outline: 0;
}
}

View file

@ -49,7 +49,6 @@
.emailaddresses li a {
font-size: 12px;
color: #999;
outline: 0;
padding: 1px;
position: absolute;
right: 2px;
@ -73,7 +72,6 @@
height: auto;
line-height: inherit;
margin: 0;
outline: 0;
padding: 0;
vertical-align: baseline;
}

View file

@ -112,7 +112,6 @@
padding-left: @folderItemPadding;
padding-right: @folderItemPadding;
outline: 0;
text-decoration: none;
&.selectable {

View file

@ -11,126 +11,119 @@
}
}
@glass-color: #fff !important;
@glass-error-color: #f76260 !important;
@glass-m-color: rgba(255, 255, 255, .8) !important;
@glass-color: #fff;
@glass-error-color: #f76260;
@glass-m-color: rgba(255, 255, 255, .8);
.b-login-content {
.loginFormWrapper {
position: relative;
}
.descWrapper {
margin-bottom: 10px;
text-align: center;
.descWrapper {
color: var(--loading-color, #000);
font-size: 30px;
margin-bottom: 10px;
text-align: center;
text-shadow: var(--loading-text-shadow);
}
.desc {
font-size: 30px;
color: var(--loading-color, #000);
text-shadow: var(--loading-text-shadow);
}
}
.loginForm {
background-color: var(--login-bg-color, rgba(0, 0, 0, .5));
border: var(--login-border, 1px solid rgba(255, 255, 255, .2));
border-radius: var(--login-border-radius, 7px);
box-shadow: var(--login-box-shadow);
color: var(--login-color, @glass-m-color);
margin: 0;
.loginForm {
background-color: var(--login-bg-color, rgba(0, 0, 0, .5));
border: var(--login-border, 1px solid rgba(255, 255, 255, .2));
border-radius: var(--login-border-radius, 7px);
box-shadow: var(--login-box-shadow);
margin: 0;
}
.input-append .add-on *,
.loginForm, .legend, .e-checkbox-icon, .g-ui-link, .language-button {
* {
color: var(--login-color, @glass-m-color);
text-shadow: none !important;
}
.controls, .control-group {
margin-bottom: 25px;
}
.wrapper {
padding: 40px 40px 20px 40px;
}
.controls {
.inputLoginForm, .inputEmail, .inputLogin, .inputPassword {
font-size: 18px;
height: 40px;
line-height: 20px;
padding-left: 12px;
padding-right: 12px;
}
.inputEmail, .inputLogin, .inputPassword {
padding-right: 35px;
}
input, .btn {
border: 1px solid none !important;
background: none !important;
outline: none !important;
text-shadow: none !important;
box-shadow: none !important;
color: @glass-color;
border-color: @glass-m-color;
.controls.error {
.input-append .add-on,
.input-append .add-on * {
color: @glass-error-color;
}
input {
color: @glass-error-color;
border-color: @glass-error-color;
}
}
}
&:placeholder {
color: @glass-color;
text-shadow: none !important;
}
.controls, .control-group {
margin-bottom: 25px;
}
&:focus, &:hover {
border-color: @glass-color;
}
.wrapper {
padding: 40px 40px 20px 40px;
}
.controls {
.inputLoginForm, .inputLogin, .inputPassword {
font-size: 18px;
height: 40px;
line-height: 20px;
padding-left: 12px;
padding-right: 12px;
}
.inputLogin, .inputPassword {
padding-right: 35px;
}
input, .btn {
border: 1px solid none;
background: none !important;
text-shadow: none;
box-shadow: none;
color: @glass-color;
border-color: @glass-m-color;
}
input {
&:placeholder {
color: @glass-color;
text-shadow: none;
}
.btn {
text-transform: uppercase;
font-size: 13px;
&:hover, &:active {
border-color: @glass-color;
}
}
&.error {
.input-append .add-on * {
color: @glass-error-color;
}
input {
color: @glass-error-color;
border-color: @glass-error-color;
}
&:focus, &:hover {
border-color: @glass-color;
}
}
.signMeLabel .e-checkbox {
margin-top: 5px;
}
.btn {
.input-append .add-on {
margin-left: -1.5em;
position: relative;
font-size: 17px;
line-height: 29px;
top: 6px;
}
text-transform: uppercase;
font-size: 13px;
.input-append .add-on * {
font-size: 17px;
line-height: 29px;
&:hover, &:active {
border-color: @glass-color;
}
}
}
.controls.error .add-on *,
.control-group.error .add-on * {
color: #b94a48;
}
.signMeLabel .e-checkbox {
margin-top: 5px;
}
.input-append .add-on {
margin-left: -1.5em;
position: absolute;
font-size: 17px;
line-height: 29px;
right: 6px;
top: 6px;
z-index: 10;
}
.input-append .add-on * {
font-size: 17px;
line-height: 29px;
}
.buttonLogin {
@ -160,7 +153,6 @@
.language-button {
padding: 5px;
outline: none;
text-decoration: none;
}
}
@ -207,6 +199,5 @@
display: inline-block;
margin: 0;
padding: 0;
outline: none;
cursor: pointer;
}

View file

@ -39,7 +39,6 @@
.e-item {
overflow: hidden;
text-decoration: none;
outline: 0;
}
.e-link {
@ -56,7 +55,6 @@
padding: 4px 10px;
outline: 0;
text-decoration: none;
}

View file

@ -143,7 +143,6 @@ Secondly, we can't rely on MUA's what to do with :empty
border-radius: 0;
display: none;
font-family: var(--fontMono);
outline: none;
margin: 0;
resize: none;
white-space: pre-wrap;

View file

@ -23,7 +23,7 @@
.email-title {
display: inline-block;
max-width: 200px;
max-width: 50vw;
text-align: left;
text-overflow: ellipsis;
overflow: hidden;
@ -61,24 +61,19 @@
}
.accountPlace {
background-color: #000;
background-color: rgba(0, 0, 0, 0.5);
border-radius: 4px;
color: #fff;
text-shadow: 0 1px 0 #000;
display: inline-block;
height: 29px;
max-width: 250px;
border-radius: 4px;
font-size: 16px;
line-height: 30px;
padding: 1px 8px;
overflow: hidden;
text-overflow: ellipsis;
border-radius: 4px;
font-weight: bold;
font-size: 16px;
height: 29px;
line-height: 30px;
max-width: 25vw;
overflow: hidden;
padding: 1px 8px;
text-overflow: ellipsis;
text-shadow: 0 1px 0 #000;
white-space: nowrap;
}
@ -107,13 +102,6 @@
}
}
/* mobile */
@media screen and (max-width: 767px) {
.accountPlace {
max-width: 150px !important;
}
}
@keyframes firstBar {
0% { height: 30%; }
50% { height: 100%; }

View file

@ -17,7 +17,7 @@
top: 100%;
transition: opacity 0.2s ease-in-out;
white-space: nowrap;
z-index: 2001 !important;
z-index: 2001;
}
@media only screen and (max-width: 600px) {
[data-rainloopErrorTip]::before {

View file

@ -4,37 +4,35 @@
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
<span data-bind="text: submitError"></span>
</div>
<div class="wrapper-parent">
<form class="wrapper submitting-pane loginForm" action="#/" data-bind="submit: submitForm, css: {'errorAnimated': formError, 'submitting': submitRequest()}">
<div class="controls" data-bind="css: {'error': loginError}">
<div class="input-append">
<input required="" type="text" class="input-block-level inputLogin"
autofocus="" autocomplete="username" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: login, disable: submitRequest"
data-i18n="[placeholder]LOGIN/LABEL_LOGIN" />
<span class="add-on fontastic">👤</span>
</div>
<form class="wrapper submitting-pane loginForm" action="#/" data-bind="submit: submitForm, css: {'errorAnimated': formError, 'submitting': submitRequest()}">
<div class="controls" data-bind="css: {'error': loginError}">
<div class="input-append">
<input required="" type="text" class="input-block-level inputLogin"
autofocus="" autocomplete="username" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: login, disable: submitRequest"
data-i18n="[placeholder]LOGIN/LABEL_LOGIN" />
<span class="add-on fontastic">👤</span>
</div>
<div class="controls" data-bind="css: {'error': passwordError}">
<div class="input-append">
<input required="" type="password" class="input-block-level inputPassword"
autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: password, disable: submitRequest"
data-i18n="[placeholder]LOGIN/LABEL_PASSWORD" />
<span class="add-on" tabindex="-1"
data-bind="command: submitCommand" data-i18n="[title]LOGIN/BUTTON_LOGIN">
<i class="fontastic" data-bind="visible: '' === password()">🔑</i>
<button type="submit" class="btn-submit-icon-wrp login-submit-icon fontastic" data-bind="visible: '' !== password()"></button>
</span>
</div>
</div>
<div class="controls" data-bind="css: {'error': passwordError}">
<div class="input-append">
<input required="" type="password" class="input-block-level inputPassword"
autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: password, disable: submitRequest"
data-i18n="[placeholder]LOGIN/LABEL_PASSWORD" />
<span class="add-on" tabindex="-1"
data-bind="command: submitCommand" data-i18n="[title]LOGIN/BUTTON_LOGIN">
<i class="fontastic" data-bind="visible: '' === password()">🔑</i>
<button type="submit" class="btn-submit-icon-wrp login-submit-icon fontastic" data-bind="visible: '' !== password()"></button>
</span>
</div>
<div id="plugin-Login-BottomControlGroup"></div>
<div class="controls" data-bind="hidden: hideSubmitButton">
<button type="submit" class="btn btn-large btn-block buttonLogin"
data-bind="command: submitCommand"
data-i18n="LOGIN/BUTTON_LOGIN"></button>
</div>
</form>
</div>
</div>
<div id="plugin-Login-BottomControlGroup"></div>
<div class="controls" data-bind="hidden: hideSubmitButton">
<button type="submit" class="btn btn-large btn-block buttonLogin"
data-bind="command: submitCommand"
data-i18n="LOGIN/BUTTON_LOGIN"></button>
</div>
</form>
</div>
<div>

View file

@ -1,78 +1,75 @@
<div class="b-login-content">
<div class="loginFormWrapper" data-bind="css: {'afterLoginHide': formHidden}">
<div class="descWrapper" data-bind="visible: '' !== loadingDesc">
<span class="desc" data-bind="text: loadingDesc"></span>
</div>
<div class="descWrapper" data-bind="visible: '' !== loadingDesc, text: loadingDesc"></div>
<div class="alert" data-bind="hidden: !submitError()" hidden="">
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
<span data-bind="text: submitError"></span>
<p data-bind="visible: '' !== submitErrorAddidional(), text: submitErrorAddidional"></p>
</div>
<div class="wrapper-parent">
<form class="wrapper submitting-pane loginForm" action="#/"
data-bind="submit: submitForm, css: {'errorAnimated': formError, 'submitting': submitRequest()}">
<div class="controls" data-bind="css: {'error': emailError}">
<div class="input-append">
<input required="" type="text" class="input-block-level inputEmail" pattern="[^@\s]+(@[^\s]+)?" inputmode="email"
autofocus="" autocomplete="email" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: email, disable: submitRequest"
data-i18n="[placeholder]GLOBAL/EMAIL" />
<span class="add-on icon-mail"></span>
</div>
<form class="wrapper submitting-pane loginForm" action="#/"
data-bind="submit: submitForm, css: {'errorAnimated': formError, 'submitting': submitRequest()}">
<div class="controls" data-bind="css: {'error': emailError}">
<div class="input-append">
<input required="" type="text" class="input-block-level inputLogin" pattern="[^@\s]+(@[^\s]+)?" inputmode="email"
autofocus="" autocomplete="email" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: email, disable: submitRequest"
data-i18n="[placeholder]GLOBAL/EMAIL" />
<span class="add-on icon-mail"></span>
</div>
<div class="controls" data-bind="css: {'error': passwordError}">
<div class="input-append">
<input required="" type="password" class="input-block-level inputPassword"
autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: password, disable: submitRequest"
data-i18n="[placeholder]GLOBAL/PASSWORD" />
<span class="add-on" tabindex="-1"
data-bind="command: submitCommand" data-i18n="[title]LOGIN/BUTTON_SIGN_IN">
<i class="fontastic" data-bind="visible: '' === password()">🔑</i>
<button type="submit" class="btn-submit-icon-wrp login-submit-icon fontastic" data-bind="visible: '' !== password()"></button>
</span>
</div>
</div>
<div class="controls" data-bind="css: {'error': passwordError}">
<div class="input-append">
<input required="" type="password" class="input-block-level inputPassword"
autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: password, disable: submitRequest"
data-i18n="[placeholder]GLOBAL/PASSWORD" />
<span class="add-on" tabindex="-1"
data-bind="command: submitCommand" data-i18n="[title]LOGIN/BUTTON_SIGN_IN">
<i class="fontastic" data-bind="visible: '' === password()">🔑</i>
<button type="submit" class="btn-submit-icon-wrp login-submit-icon fontastic" data-bind="visible: '' !== password()"></button>
</span>
</div>
<div id="plugin-Login-BottomControlGroup"></div>
<div class="controls" data-bind="hidden: hideSubmitButton">
<button type="submit" class="btn btn-large btn-block buttonLogin"
data-bind="command: submitCommand"
data-i18n="LOGIN/BUTTON_SIGN_IN"></button>
</div>
<div id="plugin-Login-BottomControlGroup"></div>
<div class="controls" data-bind="hidden: hideSubmitButton">
<button type="submit" class="btn btn-large btn-block buttonLogin"
data-bind="command: submitCommand"
data-i18n="LOGIN/BUTTON_SIGN_IN"></button>
</div>
<div class="controls clearfix" style="margin-bottom: 10px">
<div class="pull-right language-buttons">
<a href="#" tabindex="-1" class="language-button fontastic"
data-bind="visible: allowLanguagesOnLogin, click: selectLanguage, css: { 'icon-spinner' : langRequest }"
data-i18n="[title]POPUPS_LANGUAGES/TITLE_LANGUAGES">
🌍
</a>
</div>
<div class="controls clearfix" style="margin-bottom: 10px">
<div class="pull-right language-buttons">
<a href="#" tabindex="-1" class="language-button"
data-bind="visible: allowLanguagesOnLogin, click: selectLanguage" data-i18n="[title]POPUPS_LANGUAGES/TITLE_LANGUAGES">
<i class="fontastic" data-bind="css: { 'icon-spinner' : langRequest }">🌍</i>
</a>
</div>
<div class="signMeLabel" data-bind="visible: signMeVisibility, component: {
name: 'CheckboxSimple',
params: {
label: 'LOGIN/LABEL_SIGN_ME',
value: signMe
}
}"></div>
<div class="signMeLabel" data-bind="visible: signMeVisibility, component: {
name: 'CheckboxSimple',
params: {
label: 'LOGIN/LABEL_SIGN_ME',
value: signMe
}
}"></div>
</div>
<div class="controls clearfix"
data-bind="visible: '' !== forgotPasswordLinkUrl || '' !== registrationLinkUrl">
<div class="forgot-link pull-left" data-bind="visible: '' !== forgotPasswordLinkUrl"
style="text-align: center">
<a href="#" target="_blank" class="g-ui-link"
data-bind="attr: {href: forgotPasswordLinkUrl}, css: {'pull-right': '' !== registrationLinkUrl}"
data-i18n="LOGIN/LABEL_FORGOT_PASSWORD"></a>
</div>
<div class="controls clearfix"
data-bind="visible: '' !== forgotPasswordLinkUrl || '' !== registrationLinkUrl">
<div class="forgot-link pull-left" data-bind="visible: '' !== forgotPasswordLinkUrl"
style="text-align: center">
<a href="#" target="_blank" class="g-ui-link"
data-bind="attr: {href: forgotPasswordLinkUrl}, css: {'pull-right': '' !== registrationLinkUrl}"
data-i18n="LOGIN/LABEL_FORGOT_PASSWORD"></a>
</div>
&nbsp;
<div class="registration-link pull-right"
data-bind="visible: '' !== registrationLinkUrl" style="text-align: center">
<a href="#" target="_blank" class="g-ui-link"
data-bind="attr: {href: registrationLinkUrl}, css: {'pull-left': '' !== forgotPasswordLinkUrl}"
data-i18n="LOGIN/LABEL_REGISTRATION"></a>
</div>
&nbsp;
<div class="registration-link pull-right"
data-bind="visible: '' !== registrationLinkUrl" style="text-align: center">
<a href="#" target="_blank" class="g-ui-link"
data-bind="attr: {href: registrationLinkUrl}, css: {'pull-left': '' !== forgotPasswordLinkUrl}"
data-i18n="LOGIN/LABEL_REGISTRATION"></a>
</div>
</form>
</div>
</div>
</form>
</div>
</div>

View file

@ -22,7 +22,7 @@
<label class="control-label" data-i18n="GLOBAL/EMAIL"></label>
<div class="controls">
<label style="margin-top: 5px;" data-bind="visible: !isNew()"><strong data-bind="text: email"></strong></label>
<input type="email" class="inputEmail input-xlarge"
<input type="email" class="input-xlarge"
autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="visible: isNew, textInput: email, onEnter: addAccountCommand" />
</div>

View file

@ -17,7 +17,7 @@
<div class="control-group" data-bind="visible: !owner(), css: {'error': emailHasError}">
<label class="control-label" data-i18n="GLOBAL/EMAIL"></label>
<div class="controls">
<input type="email" class="inputEmail input-xlarge" autofocus=""
<input type="email" class="input-xlarge" autofocus=""
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: email, onEnter: addOrEditIdentityCommand, hasfocus: emailFocused" />
</div>

View file

@ -14,7 +14,7 @@
<div class="control-group" data-bind="css: {'error': emailError}">
<label class="control-label" data-i18n="GLOBAL/EMAIL"></label>
<div class="controls">
<input type="email" class="inputEmail input-large"
<input type="email" class="input-large"
autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: email" />
</div>

View file

@ -81,14 +81,6 @@
z-index: 2;
}
// On active and open, don't show outline
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
// Split button dropdowns
// ----------------------

View file

@ -40,7 +40,6 @@
&.active,
&:active {
opacity: 0.9;
outline: 0;
box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
}

View file

@ -7,10 +7,6 @@
.dropdown {
position: relative;
}
.dropdown-toggle:active,
.open .dropdown-toggle {
outline: 0;
}
// Dropdown arrow/caret
// --------------------
@ -80,7 +76,6 @@
.dropdown-menu .active > a:hover {
color: @dropdownLinkColorHover;
text-decoration: none;
outline: 0;
background-color: @dropdownLinkBackgroundActive;
}

View file

@ -65,7 +65,7 @@ textarea {
// Shared size and type resets
select,
textarea,
input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]) {
input {
box-sizing: border-box;
display: inline-block;
height: @baseLineHeight + 10;
@ -87,7 +87,7 @@ textarea {
}
// Everything else
textarea,
input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]) {
input {
background-color: @inputBackground;
border: 1px solid @inputBorder;
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
@ -98,7 +98,6 @@ input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]) {
background-color: #fff;
border-color: darken(@inputBorder, 20%);
box-shadow: none;
outline: 0;
}
}
@ -199,21 +198,6 @@ input[type="checkbox"][readonly] {
.formFieldState(@errorText, @errorText, @errorBackground);
}
// HTML5 invalid states
// Shares styles with the .control-group.error above
input:focus:required:invalid,
textarea:focus:required:invalid,
select:focus:required:invalid {
color: #b94a48;
border-color: #ee5f5b;
&:focus {
border-color: darken(#ee5f5b, 10%);
box-shadow: 0 0 6px lighten(#ee5f5b, 20%);
}
}
// INPUT GROUPS
// ------------
@ -222,28 +206,20 @@ select:focus:required:invalid {
margin-bottom: 5px;
font-size: 0;
white-space: nowrap; // Prevent span and input from separating
position: relative;
input,
select {
position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness
margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
font-size: @baseFontSize;
vertical-align: top;
border-radius: @inputBorderRadius;
// Make input on top when focused so blue border and shadow always show
&:focus {
z-index: 2;
}
}
.btn {
margin-left: -1px;
vertical-align: top;
border-radius: 0;
}
.active {
background-color: lighten(@green, 30);
border-color: @green;
}
.btn:last-child {
border-radius: 0 @inputBorderRadius @inputBorderRadius 0;
}