177 votes

Supprimer le style complet d'un bouton HTML/submit

Existe-t-il un moyen de supprimer complètement le style d'un bouton dans Internet Explorer ? J'utilise un sprite css pour mon bouton, et tout semble correct.

Mais lorsque je clique sur le bouton, il se déplace légèrement vers le haut, ce qui lui donne un aspect déformé. Est-ce qu'il y a un état de clic css, ou mousedown ? Je ne sais pas ce qui déclenche cet état.

Je sais que ce n'est pas grand-chose, mais parfois ce sont les petites choses qui comptent.

220voto

Kevin Leary Points 919

Je pense qu'il s'agit d'une approche plus approfondie :

button, input[type="submit"], input[type="reset"] {
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
}

<button>Example</button>

2 votes

Je ne pense pas que l'arrière-plan ait un "none" - et le !important n'est pas bon.

4 votes

En général, lorsque vous faites cela, vous souhaitez remplacer les styles existants pour un bouton. Il est rare que vous souhaitiez faire cela avec du HTML propre et sans style, d'où l'utilisation de !important . Cela dit, je l'ai supprimée car il s'agit d'une décision de situation. background: none est tout à fait valable : stackoverflow.com/questions/20784292/

0 votes

Chacun est libre de ses choix en ce qui concerne !important. Je ne pense pas que je pourrais travailler sur un projet où je serais obligé de l'utiliser. RE : 'none' Voici une référence qui vaut mieux qu'un billet de l'OS. Lorsque vous utilisez 'background' seul, vous utilisez en fait une abréviation et vous englobez tous les attributs.

141voto

Dan Fabulich Points 6143

Votre question indique "Internet Explorer", mais pour ceux qui s'intéressent à d'autres navigateurs, vous pouvez désormais utiliser all: unset sur les boutons pour les déstructurer.

Il ne fonctionne pas dans IE, mais il est bien supporté partout ailleurs.

https://caniuse.com/#feat=css-all

Avertissement sur l'accessibilité : Pour les utilisateurs qui ne se servent pas d'un pointeur de souris, veillez à ajouter à nouveau quelques :focus le stylisme, par exemple button:focus { outline: orange auto 5px } para accessibilité du clavier .

Et n'oubliez pas cursor: pointer . all: unset supprime todos le stylisme, y compris le cursor: pointer qui fait ressembler le curseur de la souris à une main lorsque vous survolez le bouton. Il est presque certain que vous voudrez rétablir cette fonction.

button {
  all: unset;
  cursor: pointer;
}

button:focus {
  outline: orange 5px auto;
}

<button>check it out</button>

88voto

a darren Points 1882

Je suppose que lorsque vous dites ' cliquez sur le bouton, il se déplace légèrement vers le haut Vous parlez de l'état de clic de la souris vers le bas pour le bouton, et que lorsque vous relâchez le clic de la souris, il revient à son état normal ? Et que vous désactivez le rendu par défaut du bouton en utilisant :

input, button, submit { border:none; } 

Si c'est le cas

Personnellement, j'ai constaté qu'il n'était pas possible d'arrêter, d'outrepasser ou de désactiver cette action native d'IE, ce qui m'a amené à modifier quelque peu mon balisage pour permettre ce mouvement sans affecter l'aspect général du bouton pour les différents états.

Il s'agit de ma version finale :

<span class="your-button-class">
    <span>
        <input type="Submit" value="View Person">
    </span>
</span>

11voto

Sarfraz Points 168484

Essayez de supprimer la bordure de votre bouton :

input, button, submit
{
  border:none;
}

11voto

ValRob Points 573

Avec bootstrap 4, c'est plus facile. Vous pouvez utiliser les classes : bg-transparent y border-0

1 votes

+ shadow-none pour moi et c'est suffisant. Je vous remercie !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X