J'ai un problème simple, mais je demande peut-être l'impossible.CSS3 Skew encore! : Dénouer le texte sans div parent afin que l'état de mise en forme soit correct
Je souhaite que mes éléments de formulaire html soient des parallélogrammes sans déformer le texte contenu. Je normalement le faire en appliquant la transformation à un div parent et l'application de la transformation inverse au contenu:
form {
background:#62CAD9;
padding:10px;
}
div {
background: white;
height: 30px;
margin: 10px;
width:300px;
transform:skewX(30deg);
-ms-transform:skewX(30deg);
-webkit-transform:skewX(30deg);
}
input {
background: none;
width: 100%;
height: 100%;
border: none;
transform:skewX(-30deg);
-ms-transform:skewX(-30deg);
-webkit-transform:skewX(-30deg);
}
Mon problème avec ce qui précède est la propriété de mise au point est toujours appliqué à l'entrée unskewed boîte et affiche comme rectangulaire. L'effet de mise au point est seulement biaisé si la boîte d'entrée lui-même est biaisé:
form {
background:#62CAD9;
}
input {
margin: 20px;
background: white;
width:300px;
border: none;
height: 30px;
transform:skewX(30deg);
-ms-transform:skewX(30deg);
-webkit-transform:skewX(30deg);
}
Le problème ici est que le texte est biaisé.
Je sais que je pourrais simplement supprimer les grandes lignes de mise au point, mais est-il un moyen soit:
- Incliner la boîte d'entrée - mais pas le texte contenu - sans biaiser par un parent div
- Appliquer la bordure à la div parente lorsque la boîte de saisie enfant est mise au point
Je ne connais pas bien js ou les scripts, donc une solution sans script est préférable. Je crois, cependant, que c'est impossible en css pur, alors laissez-moi savoir toutes les solutions possibles.
Merci, vous génies Internet courageux,
Dalton
Ajoutez plus de dégradé pour produire votre effet de contour. –
http://jsfiddle.net/khGDj/1/ –
C'est trop cool! Merci beaucoup G. Si cela ne vous dérange pas, je suis curieux de voir comment faire cela avec un pseudo-élément comme vous l'avez mentionné, j'ai essayé cette approche mais je n'ai pas réussi à le faire fonctionner. Même si cela ne fonctionnera pas avec l'entrée, cela m'aiderait définitivement avec d'autres éléments sur le site. –