Bonjour,
J'ai un gros soucis avec une seule page de mon site.
Pour la version mobile, j'ai un menu exprès en haut de mes pages (qui remplace la version desktop) et qui slide vers le bas pour afficher les liens. Çà fonctionne très bien sauf sur la page où il y a mon formulaire.
Le bouton menu apparaît en tout petit complètement collé en haut et il ne fonctionne pas du tout comme l'image ci-dessous :
Il y a donc un conflit entre les deux fichiers CSS et je soupçonne que ça vient de la checkbox mais je ne parviens pas à résoudre le problème.
Voici mon code HTML de mon menu :
Le CSS du menu :
Et le CSS du formulaire :
Je pense que malgré qu'il n'y ai pas de checkbox dans mon formulaire, le CSS prend en compte celui du menu. J'ai tenté en remplaçant chaque input par input[type="xxx"] pour bien préciser de quels input il s'agit mais ça fonctionne en partie car le type tel n'est pas prit en compte.
Je vous remercie d'avance.
Modifié par Xhanxhand (21 Dec 2019 - 12:05)
J'ai un gros soucis avec une seule page de mon site.
Pour la version mobile, j'ai un menu exprès en haut de mes pages (qui remplace la version desktop) et qui slide vers le bas pour afficher les liens. Çà fonctionne très bien sauf sur la page où il y a mon formulaire.
Le bouton menu apparaît en tout petit complètement collé en haut et il ne fonctionne pas du tout comme l'image ci-dessous :
Il y a donc un conflit entre les deux fichiers CSS et je soupçonne que ça vient de la checkbox mais je ne parviens pas à résoudre le problème.
Voici mon code HTML de mon menu :
<div class="nav">
<input id="nav-toggle-button" type="checkbox" class="trigger" />
<label class="icon" for="nav-toggle-button">
<i class="fa fa-bars"></i> Menu
</label>
<nav class="main">
<ul>
<li><a href="index.php" class="nav_link">Accueil</a></li>
<li><a href="prestations.php" class="nav_link">Prestations</a></li>
<li><a href="localisation.php" class="nav_link">Localisation</a></li>
<li><a href="contact.php" class="nav_link">Contact</a></li>
</ul>
</nav>
</div>
Le CSS du menu :
/* RESOLUTION 960px MAX */
@media only screen and (max-width: 960px)
{
.menu, .br2 { display :none; }
.nav { display :block; }
label.icon {
position: relative;
background :transparent;
text-align: center;
line-height: 40px;
font-size: 20px;
display: inline-block;
z-index: 2;
width: 100%;
font-family: 'Titillium Web', sans-serif;
color: #4bb5f2;
}
.nav {
position: relative;
text-align: center;
background :url("images/fond_contenu.png") repeat;
width :70%;
margin :auto;
border-radius :0px 0px 8px 8px;
}
nav.main {
top: -250px;
left: 0;
overflow: hidden;
position: absolute;
width: 100%;
background :url("images/fond_contenu.png") repeat;
transition: .9s all ease;
z-index: 1;
border-radius :8px 8px 8px 8px;
font-family: 'Titillium Web', sans-serif;
}
.nav input[type="checkbox"] { display: none; }
.nav input[type="checkbox"]:checked ~ nav.main {
top: 40px;
height: auto;
}
nav ul {
margin: 0;
padding: 0;
}
nav li {
list-style: none;
text-align: center;
margin: 0;
padding: 13px;
font-size: 20px;
}
nav li a {
text-decoration: none;
color: white;
}
.nav_link {
display: inline-block;
text-decoration: none;
}
.nav_link:after {
border-bottom: 3px solid #5fd072;
content: "";
display: block;
margin: 0.25em auto 0;
transition: width 250ms ease-in-out 0s;
width: 0;
}
.nav_link:hover:after {
transition: width 100ms ease-in-out 0s;
width: 100%;
}
/* MEDIA QUERIES */
/* RESOLUTION JUSQUE 800px MAX */
@media only screen and (max-width: 800px)
{
.nav { width :100%; }
}
/* RESOLUTION DE 801 px JUSQUE 960px MAX */
@media only screen and (min-width: 801px) and (max-width: 960px)
{
.nav { width :80%; }
}
}
Et le CSS du formulaire :
* { box-sizing:border-box; }
/* basic stylings ------------------------------------------ */
.container {
width:80%;
margin:30px auto 0;
display:block;
padding:10px 50px 50px;
}
/* form starting stylings ------------------------------- */
.group {
position:relative;
margin-bottom:45px;
}
fieldset {
border:1px solid;
border-radius:8px;
}
textarea { height :200px; }
input, textarea {
width :500px;
font-size:18px;
padding:10px 10px 10px 5px;
display:block;
border:none;
border-bottom:1px solid #4bb5f2;
background :transparent;
}
input[type=file] { font-size: 15px; }
input:focus, textarea:focus { outline:none; }
.buttons { text-align: center; }
input[type=submit] {
display :inline-block;
width :150px;
}
input[type=submit]:hover, input[type=reset]:hover {
color :#ff9f9f;
cursor:pointer;
}
input:focus:valid {
border-color: #b3f3a2;
box-shadow: 0 0 1px #b3f3a2;
}
input:focus:invalid {
border-color: #ffffff;
box-shadow: 0 0 1px #f79c9c;
}
/* LABEL ======================================= */
label {
color:#4bb5f2;
font-size:18px;
font-weight:normal;
position:absolute;
pointer-events:none;
left:5px;
top:10px;
transition:0.2s ease all;
-moz-transition:0.2s ease all;
-webkit-transition:0.2s ease all;
}
/* active state */
input:focus ~ label, input:valid ~ label, textarea:focus ~ label, textarea:valid ~label {
top:-20px;
font-size:14px;
color:#5fd072;
}
/* BOTTOM BARS ================================= */
.bar { position:relative; display:block; width:500px; }
.bar:before, .bar:after {
content:'';
height:2px;
width:0;
bottom:1px;
position:absolute;
background:#5fd072;
transition:0.2s ease all;
-moz-transition:0.2s ease all;
-webkit-transition:0.2s ease all;
}
.bar:before {
left:50%;
}
.bar:after {
right:50%;
}
/* active state */
input:focus ~ .bar:before, input:focus ~ .bar:after, textarea:focus ~ .bar:before, textarea:focus ~.bar:after {
width:50%;
}
input, textarea, input:hover, input:focus, textarea:hover, textarea:focus { color :#4bb5f2; }
/* HIGHLIGHTER ================================== */
.highlight {
position:absolute;
height:60%;
width:100px;
top:25%;
left:0;
pointer-events:none;
opacity:0.5;
}
/* active state */
input:focus ~ .highlight, textarea:focus ~ .highlight {
-webkit-animation:inputHighlighter 0.3s ease;
-moz-animation:inputHighlighter 0.3s ease;
animation:inputHighlighter 0.3s ease;
}
::placeholder {
text-align :right;
font-size :15px;
}
/* ANIMATIONS ================ */
@-webkit-keyframes inputHighlighter {
from { background:#5264AE; }
to { width:0; background:transparent; }
}
@-moz-keyframes inputHighlighter {
from { background:#5264AE; }
to { width:0; background:transparent; }
}
@keyframes inputHighlighter {
from { background:#5264AE; }
to { width:0; background:transparent; }
}
/* RESOLUTION 1024px MAX */
@media only screen and (min-width: 600px) and (max-width: 1024px)
{
.container {
margin :0 auto;
padding :0;
}
input, textarea, input:hover, input:focus, textarea:hover, textarea:focus, input[type=submit], input[type=reset] { font-size :15px; }
}
/* RESOLUTION 420px MAX */
@media only screen and (min-width: 320px) and (max-width: 420px)
{
.container {
width :100%;
margin :0;
padding :0;
}
label { font-size :15px; }
textarea { height :150px; }
input, textarea { width :100%; font-size :15px;}
input:focus ~ label, input:valid ~ label, textarea:focus ~ label, textarea:valid ~label { font-size:12px; }
input[type=submit], input[type=reset] { width :30%; }
.bar { position:relative; display:block; width:100%; }
::placeholder { font-size :10px; }
input[type=file] { font-size: 12px; }
}
Je pense que malgré qu'il n'y ai pas de checkbox dans mon formulaire, le CSS prend en compte celui du menu. J'ai tenté en remplaçant chaque input par input[type="xxx"] pour bien préciser de quels input il s'agit mais ça fonctionne en partie car le type tel n'est pas prit en compte.
Je vous remercie d'avance.
Modifié par Xhanxhand (21 Dec 2019 - 12:05)