diff --git a/b2-cwd/integration/live/session4/imports-scss/README.md b/b2-cwd/integration/live/session4/imports-scss/README.md index 04fdfb1..e7a7491 100644 --- a/b2-cwd/integration/live/session4/imports-scss/README.md +++ b/b2-cwd/integration/live/session4/imports-scss/README.md @@ -1,2 +1,16 @@ ## @import -https://sass-lang.com/documentation/at-rules/import \ No newline at end of file +https://sass-lang.com/documentation/at-rules/import + +## normalize necolas version +https://raw.githubusercontent.com/necolas/normalize.css/master/normalize.css + +## surveiller / compiler des fichiers sass : +sass --watch +.\style-main.scss:.\style-main.css .\desktop.scss:.\desktop.css .\print.scss:print.css + +## compresser des fichiers scss : +sass --style=compressed .\style-main.scss:.\style-main.css + +## compresser ne pas faire de map +sass --no-source-map --style=compressed .\style-main.scss:.\style-main.css + diff --git a/b2-cwd/integration/live/session4/imports-scss/css/.gitignore b/b2-cwd/integration/live/session4/imports-scss/css/.gitignore new file mode 100644 index 0000000..5e7d273 --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/css/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.eot b/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.eot new file mode 100644 index 0000000..1f79bcc Binary files /dev/null and b/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.eot differ diff --git a/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.svg b/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.svg new file mode 100644 index 0000000..40a725d --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.svg @@ -0,0 +1,16 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + \ No newline at end of file diff --git a/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.ttf b/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.ttf new file mode 100644 index 0000000..1b5be29 Binary files /dev/null and b/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.ttf differ diff --git a/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.woff b/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.woff new file mode 100644 index 0000000..0ed21c6 Binary files /dev/null and b/b2-cwd/integration/live/session4/imports-scss/fonts/icomoon.woff differ diff --git a/b2-cwd/integration/live/session4/imports-scss/index.html b/b2-cwd/integration/live/session4/imports-scss/index.html new file mode 100644 index 0000000..2b97429 --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/index.html @@ -0,0 +1,12 @@ + + + + + A hompage + + + + Coucou +
 
+ + \ No newline at end of file diff --git a/b2-cwd/integration/live/session4/imports-scss/scss/_commons.scss b/b2-cwd/integration/live/session4/imports-scss/scss/_commons.scss new file mode 100644 index 0000000..fdbc679 --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/scss/_commons.scss @@ -0,0 +1,176 @@ + +body +{ + font-family: $font; + font-size:$normalfontsize; +} + +h4 +{ + font-size:$normalfontsize + 2px; +} + +body,figure,img +{ + padding:0; + border:none; + margin:0; +} + +#switch:checked ~ p +{ + background-color:green; +} + +.img-wrap img +{ + // avec interpolation + width:calc(100% - (#{$marge}*2)); + height:auto; + margin:$marge; + top:50%; + transform: translateY(-25%); +} + +picture +{ + position:relative; + display:block; + max-height:40vh; + overflow:hidden; +} + +main, h1 +{ + margin:1rem; + padding:1rem; +} + +@import "common-parts/main-menu"; +@import "common-parts/contact-form"; + +.hidden, +*[aria-hidden] +{ + display:none!important; +} + + +////////////////////// style a propos +.grand-L +{ + height:16px; +} +main, aside +{ + box-sizing: border-box; +} +main +{ + width:calc(100% - 27vw); +} +.main-stat +{ + max-width: 73vw; + float:left; + margin:10px 0 10px -2rem; +} +aside +{ + width:25vw; + right:0; + top:75px; + position:fixed; + img + { + max-width:100%; + } +} + +// https://contrastchecker.com/ +footer +{ + color:#a9a9a9; + border-top: solid 1px #000; + padding:10px; +} + +a[lang=fr],a[target=_blank] +{ + &:after + { + color:blueviolet; + } +} + +a[lang=fr] +{ + &::after + { + content :' [fr]'; + } +} + +a[target=_blank] +{ + &::after + { + content :' [^]'; + } +} + +#loaded +{ + background-color: #ccF; + border-left: solid 3px blue; + color:darkblue; + padding:3px; +} +#warning +{ + background-color: #Fed; + border-left: solid 3px red; + color:darkred; + padding:3px; +} + +li +{ + &[lang] + { + color:#ccc; + } + &[lang=fr] + { + color:darkblue; + } + // commence par + &[lang^=fr] + { + color:darkblue; + } + // se termine par + &[lang$=CA] + { + color:blue; + } + //contient + &[lang*="-"] + { + font-weight: bold; + } + +} + +span +{ + //contient + &[class~="red"] + { + color:red; + } + &[class|=red] + { + color:darkred; + } +} \ No newline at end of file diff --git a/b2-cwd/integration/live/session4/imports-scss/scss/_icon-style.scss b/b2-cwd/integration/live/session4/imports-scss/scss/_icon-style.scss new file mode 100644 index 0000000..eb40aa1 --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/scss/_icon-style.scss @@ -0,0 +1,44 @@ +@font-face { + font-family: 'icomoon'; + src: + url('/fonts/icomoon.ttf?k3kmik') format('truetype'), + url('/fonts/icomoon.woff?k3kmik') format('woff'), + url('/fonts/icomoon.svg?k3kmik#icomoon') format('svg'); + font-weight: normal; + font-style: normal; + font-display: block; +} + +[class^="icon-"], [class*=" icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'icomoon' !important; + speak: never; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-eye:before { + content: "\e9ce"; +} +.icon-eye-blocked:before { + content: "\e9d1"; +} +.icon-close-circle:before { + content: "\ea0d"; +} +.icon-close:before { + content: "\ea0f"; +} +.icon-radio-checked:before { + content: "\ea54"; +} +.icon-radio-unchecked:before { + content: "\ea56"; +} diff --git a/b2-cwd/integration/live/session4/imports-scss/scss/_normalize.scss b/b2-cwd/integration/live/session4/imports-scss/scss/_normalize.scss new file mode 100644 index 0000000..c45a85f --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/scss/_normalize.scss @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + + html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + } + + /* Sections + ========================================================================== */ + + /** + * Remove the margin in all browsers. + */ + + body { + margin: 0; + } + + /** + * Render the `main` element consistently in IE. + */ + + main { + display: block; + } + + /** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + + h1 { + font-size: 2em; + margin: 0.67em 0; + } + + /* Grouping content + ========================================================================== */ + + /** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + + hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /* Text-level semantics + ========================================================================== */ + + /** + * Remove the gray background on active links in IE 10. + */ + + a { + background-color: transparent; + } + + /** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + + abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ + } + + /** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + + b, + strong { + font-weight: bolder; + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + code, + kbd, + samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /** + * Add the correct font size in all browsers. + */ + + small { + font-size: 80%; + } + + /** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + + /* Embedded content + ========================================================================== */ + + /** + * Remove the border on images inside links in IE 10. + */ + + img { + border-style: none; + } + + /* Forms + ========================================================================== */ + + /** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + + button, + input, + optgroup, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ + } + + /** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + + button, + input { /* 1 */ + overflow: visible; + } + + /** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + + button, + select { /* 1 */ + text-transform: none; + } + + /** + * Correct the inability to style clickable types in iOS and Safari. + */ + + button, + [type="button"], + [type="reset"], + [type="submit"] { + -webkit-appearance: button; + } + + /** + * Remove the inner border and padding in Firefox. + */ + + button::-moz-focus-inner, + [type="button"]::-moz-focus-inner, + [type="reset"]::-moz-focus-inner, + [type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; + } + + /** + * Restore the focus styles unset by the previous rule. + */ + + button:-moz-focusring, + [type="button"]:-moz-focusring, + [type="reset"]:-moz-focusring, + [type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; + } + + /** + * Correct the padding in Firefox. + */ + + fieldset { + padding: 0.35em 0.75em 0.625em; + } + + /** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + + legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ + } + + /** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + + progress { + vertical-align: baseline; + } + + /** + * Remove the default vertical scrollbar in IE 10+. + */ + + textarea { + overflow: auto; + } + + /** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + + [type="checkbox"], + [type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + + [type="number"]::-webkit-inner-spin-button, + [type="number"]::-webkit-outer-spin-button { + height: auto; + } + + /** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + + [type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ + } + + /** + * Remove the inner padding in Chrome and Safari on macOS. + */ + + [type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } + + /** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + + ::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ + } + + /* Interactive + ========================================================================== */ + + /* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + + details { + display: block; + } + + /* + * Add the correct display in all browsers. + */ + + summary { + display: list-item; + } + + /* Misc + ========================================================================== */ + + /** + * Add the correct display in IE 10+. + */ + + template { + display: none; + } + + /** + * Add the correct display in IE 10. + */ + + [hidden] { + display: none; + } \ No newline at end of file diff --git a/b2-cwd/integration/live/session4/imports-scss/scss/_variables.scss b/b2-cwd/integration/live/session4/imports-scss/scss/_variables.scss new file mode 100644 index 0000000..9942c9f --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/scss/_variables.scss @@ -0,0 +1,4 @@ + +$font : Arial, Helvetica, sans-serif; +$normalfontsize : 12px; +$marge : 8px; \ No newline at end of file diff --git a/b2-cwd/integration/live/session4/imports-scss/scss/common-parts/_contact-form.scss b/b2-cwd/integration/live/session4/imports-scss/scss/common-parts/_contact-form.scss new file mode 100644 index 0000000..2b3ca24 --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/scss/common-parts/_contact-form.scss @@ -0,0 +1,138 @@ +////////// FORMULAIRE DE CONTACT + +// switch por afficher le conteneur du formulaire +.contact-form-wrap +{ + display:none; +} + +#show-contact:checked ~ .contact-form-wrap +{ + display:block; +} + +// je positionne le fond en fixed pour lui faire occuper toute la page +.contact-form-wrap +{ + position:fixed; + //fond noir à 25% ce qui donne la transparence + background-color:rgba(0,0,0,0.25); + top:0; + bottom:0; + left:0; + right:0; + .h3 + { + color:white; + text-align: center; + margin-top:120px; + } +} + +//je préfixe les éléments du formulaire pour les regrouper dans mon sas +.cf +{ + //je centre le formulaire dans son conteneur (.contact-form-wrap) + &-form + { + background-color: white; + position: absolute; + top:50%; + left:50%; + transform: translate(-50%,-50%); + padding: 20px; + border-radius: 20px; + } + //je normalise tous les inputs / labels + &-input, &-label + { + min-height: 20px; + line-height: 20px; + box-sizing: border-box; + width:100%; + min-width:30vh; + } + &-input + { + border: solid 1px #666; + border-radius: 4px; + padding:4px; + } + &-label + { + line-height: 30px; + box-sizing: border-box; + } + &-btn + { + background-color: black; + color:white; + padding-left:10px; + padding-right:10px; + margin-top:4px; + &:hover + { + background-color: white; + color:black; + transition: color 0.5s; + } + } + &-input-group + { + &:after + { + content:""; + display: table; + clear:both; + overflow: auto; + } + } + &-close-wrap + { + margin:-10px -10px 0 -20px; + } + &-close + { + display: block; + position:relative; + box-sizing: border-box; + float:right; + clear:both; + font-size:20px; + } + +} + +.icon-radio-checked +{ + display:none; + color:green; +} +.icon-radio-unchecked +{ + color:red; +} + +#abonnement-oui:checked ~ .ct-radio +{ + .icon-radio-checked + { + display:inline; + } + .icon-radio-unchecked + { + display:none; + } +} +#abonnement-non:checked ~ .ct-radio +{ + .icon-radio-checked + { + display:inline; + } + .icon-radio-unchecked + { + display:none; + } +} + diff --git a/b2-cwd/integration/live/session4/imports-scss/scss/common-parts/_main-menu.scss b/b2-cwd/integration/live/session4/imports-scss/scss/common-parts/_main-menu.scss new file mode 100644 index 0000000..bb5d5fb --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/scss/common-parts/_main-menu.scss @@ -0,0 +1,75 @@ +#main-menu +{ + text-align:center; + ul + { + list-style:none; + } + + li + { + text-align: left; + } + + li a, + li span, + li label + { + color:black; + text-decoration:none; + font-size:1.1rem; + } + + li span + { + color:#666; + } + + .menu-label + { + font-size:1.5rem; + color:black; + text-decoration:none; + font-weight:bold; + display:inline-block; + line-height:2rem; + } +} +.burger +{ + float:left; + margin: 3px 8px; + b,i + { + display: block; + width: 20px; + } + b + { + height: 2px; + margin-bottom: 5px; + position: relative; + background: #000; + border-radius: 2px; + z-index: 1; + &:first-of-type + { + margin-top:5px; + } + } + i + { + color:blue; + } +} + +//switch pour afficher le menu +#main-menu ul +{ + display:none; +} + +#main-menu #switch:checked ~ ul +{ + display:block; +} diff --git a/b2-cwd/integration/live/session4/imports-scss/scss/desktop.scss b/b2-cwd/integration/live/session4/imports-scss/scss/desktop.scss new file mode 100644 index 0000000..cad9ea7 --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/scss/desktop.scss @@ -0,0 +1,79 @@ +#main-menu +{ + .menu-label + { + display:none; + } + ul + { + display:block; + margin-block-start: 1em; + margin-block-end: 1em; + margin-inline-start: 0px; + margin-inline-end: 0px; + padding-inline-start: 0px; + margin:0px; + li + { + display:inline-block; + width:24%; + } + } +} + + +////// FORUMULAIRE +.cf +{ + &-label,&-input + { + min-width: auto; + width: auto; + } + &-label + { + float:left; + clear:left; + padding-right:20px; + } + &-input + { + min-height: 20px; + line-height: 20px; + min-width: 20vw; + float:right; + clear:right; + box-sizing: border-box; + + } + &-textarea + { + margin:8px 0; + display:block; + width:100%; + clear: both; + } + &-input-group + { + padding:4px; + margin:4px; + } + &-close-wrap + { + margin:-20px -20px 0 -20px; + } + &-btn + { + background-color: black; + color:white; + padding-left:10px; + padding-right:10px; + } +} + +.main-stat +{ + max-width: 300px; + float:left; + margin:10px; +} \ No newline at end of file diff --git a/b2-cwd/integration/live/session4/imports-scss/scss/print.scss b/b2-cwd/integration/live/session4/imports-scss/scss/print.scss new file mode 100644 index 0000000..39a403f --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/scss/print.scss @@ -0,0 +1,4 @@ +#main-menu +{ + display: none!important; +} \ No newline at end of file diff --git a/b2-cwd/integration/live/session4/imports-scss/scss/style-main.scss b/b2-cwd/integration/live/session4/imports-scss/scss/style-main.scss new file mode 100644 index 0000000..ded5fd0 --- /dev/null +++ b/b2-cwd/integration/live/session4/imports-scss/scss/style-main.scss @@ -0,0 +1,14 @@ +@import "normalize.scss"; +@import "icon-style.scss"; +@import "variables.scss"; +@import "commons.scss"; + +@media screen and (min-width: 480px) +{ + @import "desktop.scss"; +} + +@media print +{ + @import "print.scss"; +} \ No newline at end of file