2010-04-20 10 views
3

Je dois concevoir un formulaire avec une entrée à l'intérieur. J'utilise l'image d'arrière-plan sur l'entrée afin qu'elle ressemble à un bouton. Chaque fois que quelqu'un clique dessus, cela envoie $ POST, un comportement que je veux atteindre.Comment masquer contour sur un formulaire

Mais le problème concerne les contours du formulaire. Le contour montre quand nous cliquons sur le formulaire. C'est mineur, mais ce serait génial de faire perdre la forme (ou l'entrée) au contour. Je l'ai testé avec Firefox 3.6 et flock. Les deux montrent le comportement de contour que je veux éviter.

<div id="hdrRight">  
    <form name="input" action="/home.html" method="post" id="buttonform" > 
     <input type="submit" value="" id="gohome" /> 
    </form> 


         
 
#----- CSS part #hdrRight { float:left; width:420px; height:30px; padding:0; } form#buttonform{ background-color:transparent; border:none; clear:both; outline:none; } input#gohome{ padding:0; margin:0; background-color:transparent; background-repeat:no-repeat; width:280px; height:60px; border:none; float:right; background-image: url('images/gohome.png'); outline:none; } input#gohome:hover { background-image: url('images/gohome_hover.png'); cursor:pointer; outline:none; }

Pouvez-vous expliquer pourquoi cela se passe et comment cacher les grandes lignes?

Répondre

1

En fait, le "contour: none;" fonctionne uniquement pour les balises d'ancrage, pas les balises d'entrée ou les balises de bouton (essayez de tester un exemple de page HTML dans Firefox si vous ne me croyez pas).

Étant donné que le navigateur en question est Firefox, il existe une règle spécifique au navigateur pour cela.

input::-moz-focus-inner { border: 0; } 
+0

brillant. ça marche. J'ai tester ceci dans Firefox, IE7, troupeau, safari. Merci beaucoup. – justjoe

+1

Le -moz-focus-interne ne s'appliquera à Firefox, malheureusement. Espérons que les valeurs "outline: none" que vous avez déjà sur vos tags d'entrée fonctionneront pour les autres navigateurs. Je sais qu'ils fonctionnent dans Chrome, ce qui signifie qu'ils devraient fonctionner dans Safari. N'ont pas testé IE ou troupeau, cependant. – RussellUresti

+0

je l'ai testé dans IE7 et flock et c'est du travail. peut-être que le 'contour: aucun' a un autre navigateur. En raison de Firefox est le navigateur le plus populaire, votre solution aide vraiment la majorité des utilisateurs. je vous remercie 1000 fois;) – justjoe

3

Insérer dans votre fichier CSS pour le site

form input 
{ 
    border: none; 
    outline: none; 
} 

Et fait.

Après Removing The Dotted Ouline:

Ce style est par défaut pour le objectif d'accessibilité. Pour les gens sans la possibilité d'utiliser une souris, ils ont encore besoin d'un indicateur visuel qu'ils ont actuellement un lien actif (ainsi, par exemple, ils peuvent appuyer sur entrer pour naviguer vers ce lien).

Après avoir créé une petite page de test sur place, je vois ce qui suit dans Chrome:

Screen shot http://img714.imageshack.us/img714/7445/googlechromescreensnapz.jpg

Avec ce code CSS (j'ai ajouté les frontières pour que je puisse voir où la forme est et où la bouton est, notez que le Lorem Ipsum est à l'intérieur de la forme):

#hdrRight { 
     float:left; width:420px; 
     height:30px; 
     padding:0; 
     } 

    form#buttonform{ 
     background-color:transparent; 
     border:1px solid black; 
     clear:both; 
     outline:none; 
    } 

    input#gohome{ 
     padding:0; 
     margin:0; 
     background-color:transparent; 
     background-repeat:no-repeat; 
     width:280px; 
     height:60px; 
     border:1px solid black; 
     float:right; 
     background-image: url('images/gohome.png'); 
     outline:none; 
    } 
    input#gohome:hover { 
     background-image: url('images/gohome_hover.png'); 
     cursor:pointer; 
     border: 1px solid blue; 
     outline:none; 
    } 
+0

Je l'ai déjà fait. mais c'est raté. Je vais changer la question – justjoe

+0

@justjoe: Un lien vers le site ou au moins un code CSS et HTML irait un long chemin pour obtenir une meilleure réponse. –

+0

@josh: oui je sais. mais je n'ai pas de serveur en direct. Je l'ai développé dans mon ordinateur portable. c'est un thème wordpress. btw, merci Josh. peut-être que je vais essayer de le trouver par moi-même, D – justjoe

1

Appy ...

border: none;

à votre entrée

+0

Non, vous devez appuyer sur 'border' ** et **' outline'. Safari et Chrome auront en fait une propriété 'outline' similaire aux liens quand ils sont dans l'état': active'. –

+2

Non? Il a à moitié raison. Que diriez-vous, "Safari et Chrome ont besoin de contour: pas trop"? Et vous l'avez déprécié pour ça? – hobodave

+1

Si seulement nous pouvions upvote chaque demi bonne réponse .... –

Questions connexes