body { font-size: 100%; font-family: sans; /* pour enlever la bande de la couleur du fond en haut et en bas de la page */ margin: 0; background-color: #F0EC41; } #bloc_page { max-width: 1200px; /* la largeur max indiquée sert à réduire la variété des largeurs d'écran à prendre en compte */ margin: auto; padding: 0 20px 30px 20px; background-color: white; } h1 { font-weight: normal; display: inline-block; margin: 5px; border: 2px #008100 solid; border-radius: 12px; padding: 3px; background-color: #F4F02D; font-size: 120%; } h2 { font-weight: normal; font-size: 110%; text-decoration: underline; } p { margin: 10px; } a { color: black; /* les liens déjà cliqués restent noirs */ } a:hover /* liens survolés par la souris */ { color: #004F00; } .lien:hover { font-weight: bold; } /* En-tête. */ header { background-color: white; display: flex; flex-direction: column; align-items: center; margin-bottom: 20px; } header div, header p { margin-top: 40px; } #logohaut { width: 200px; /* cacher petit logo */ display: none; } #logotitre { height: 90px; } /* Menu de navigation. */ nav { position: fixed; z-index: 2; /* pour être dessus des prestations */ text-align: center; } nav a { display: inline-block; /* menu horizontal */ border: 2px #008100 solid; border-radius: 12px; padding: 3px; margin: 2px; background-color: #F4F02D; font-size: 110%; text-decoration: none; } /* "vous êtes ici" */ #actuelle { color: #004F00; border: 3px #004F00 solid; } /* Corps de page. */ section { display: flex; align-items: center; } aside { width: 174px; /* équivalent à la photo qui fait 170 de large plus la bordure de 2 pixels */ display: flex; flex-direction: column; align-items: center; } aside p { margin: 0; } article { margin-left: 20px; } #description { margin: 0; font-size: 110%; } .photo { border: 2px #008100 solid; border-radius: 10px; } /* nuage de liens */ section { display: flex; } #prestations div { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-around; margin: 20px 30px; padding: 10px; border: 2px #008100 solid; border-radius: 12px; background-color: #F4F02D; } h3 { margin: 10px; border: 2px #008100 solid; border-radius: 12px; padding: 3px; text-align: center; font-size: 100%; background-color: white; } h3 a { text-decoration: none; } table { margin: 10px; max-width: 470px; /* fusionner les bordures */ border-collapse: collapse; } caption span { font-size: 110%; text-decoration: underline; } caption i { font-size: 90%; } td { border: 1px black solid; } pre { font-family: sans-serif; font-size: 90%; white-space: pre-wrap; margin: 0 20px; padding: 10px; border: 2px #004F00 dotted; border-radius: 10px; } a img { border: none; /* retire la bordure bleue sur certains navigateurs */ } .parties { margin: 10px 0 15px 0; } textarea { width: 500px; height: 200px; } /* lien fixe en bas */ footer { display: flex; flex-direction: column; align-items: center; } footer h1 { position: fixed; bottom: 0; margin: 2px; /* de 5 par défaut */ text-align: center; } footer a { text-decoration: none; } /* design responsive */ @media screen and (max-width: 750px) { section { display: flex; flex-direction: column; } aside { margin: auto; } p { margin: 3px; } #prestations div /* à cause du menu sur deux lignes */ { margin-top: 74px; } } @media screen and (max-width: 710px) { header div, header p { margin-top: 76px; } nav a { font-size: 100%; } h1 { font-size: 110%; } textarea { width: 400px; height: 150px; } } @media screen and (max-width: 500px) { #logohaut { /* afficher petit logo */ display: inline; } #logotitre { /* cacher grand logo */ display: none; } textarea { width: 270px; height: 100px; } }