Difference between revisions of "Team:Pasteur Paris/essai"

(Replaced content with "{{Pasteur_Paris_Achievements}} <html> <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'> <style type="text/css"...")
 
(One intermediate revision by the same user not shown)
Line 10: Line 10:
 
position: relative;
 
position: relative;
 
   
 
   
}
 
 
/*
 
* CSS Fadeshow by @alexerlandsson
 
* This is a fadeshow built in CSS and with customization in focus.
 
* Supports quick navigation, prev/next navigation and autoplay.
 
*
 
* For better documentation and implementation guide, check out the GitHub repository:
 
* https://github.com/alexerlandsson/css-fadeshow
 
*/
 
 
 
/*
 
* ===== VARIABLES =====
 
*
 
* Change these variables to match your preferences. For a more detailed
 
* description of what each variable do, visit https://github.com/alexerlandsson/css-fadeshow
 
*/
 
 
$max-slides: 5;
 
$prefix: true;
 
$responsive: true;
 
$breakpoint-small: 500px;
 
$fade-time: 1;
 
$prev-next-fontfamily: sans-serif;
 
$prev-next-icon-size: 3vw;
 
$prev-next-icon-color: rgba(255,255,255,0.5);
 
$prev-next-bg: rgba(255,255,255,0);
 
$prev-next-bg-hover: rgba(255,255,255,0.1);
 
$prev-icon: '❮';
 
$next-icon: '❯';
 
$autohide-next-prev: true;
 
$quick-nav-color: rgba(255,255,255,0.8);
 
$quick-nav-active-color: coral;
 
$fade-color: #fff;
 
$autoplay: true;
 
$autoplay-duration: 5;
 
 
 
/*
 
* ===== MIXINS =====
 
*
 
* This section contains mixin used
 
* Do not change anything here unless you know what you are doing.
 
*/
 
 
/* Mixins to handle prefixes */
 
 
@mixin fadeshow-transition($value...) {
 
@if length($value) < 1 {
 
$value: all 150ms linear;
 
}
 
@if $prefix == true {
 
-webkit-transition: $value;
 
}
 
  transition: $value;
 
}
 
 
@mixin fadeshow-transform($value...) {
 
@if length($value) < 1 {
 
$value: all 150ms linear;
 
}
 
@if $prefix == true {
 
-webkit-transform: $value;
 
-ms-transform: $value;
 
}
 
  transform: $value;
 
}
 
 
@mixin fadeshow-animation($value...) {
 
@if $prefix == true {
 
-webkit-animation: $value;
 
}
 
  animation: $value;
 
}
 
 
@mixin fadeshow-animation-delay($value) {
 
@if $prefix == true {
 
-webkit-animation-delay: $value;
 
}
 
  animation-delay: $value;
 
}
 
 
@mixin fadeshow-unselectable() {
 
@if $prefix == true {
 
-webkit-user-select: none;
 
  -moz-user-select: none;
 
-ms-user-select: none;
 
}
 
  user-select: none;
 
}
 
 
/* Mixins to handle Quick Navigation Button states */
 
 
@mixin quickNavBtnActive() {
 
background-color: $quick-nav-active-color;
 
}
 
 
@mixin quickNavBtnInactive() {
 
background-color: $quick-nav-color;
 
}
 
 
 
/*
 
* ===== FADESHOW =====
 
*
 
* Base functionality for the fadeshow.
 
* Do not change anything here unless you know what you are doing.
 
*/
 
 
[data-am-fadeshow] {
 
position: relative;
 
width: 100%;
 
height: 100%;
 
overflow: hidden;
 
background-color: $fade-color;
 
 
/* Slides */
 
.fs-slide {
 
position: absolute;
 
top: 0;
 
bottom: 0;
 
left: 0;
 
right: 0;
 
opacity: 0;
 
background-size: cover;
 
background-position: center;
 
background-repeat: no-repeat;
 
@include fadeshow-transition(opacity #{$fade-time}s ease);
 
 
/* Display first child on load */
 
&:first-child {
 
opacity: 1;
 
}
 
}
 
 
/* Quick Navigation */
 
.fs-quick-nav {
 
position: absolute;
 
bottom: 15px;
 
left: 50%;
 
z-index: 1;
 
@include fadeshow-unselectable();
 
@include fadeshow-transform(translateX(-50%));
 
}
 
 
.fs-quick-btn {
 
display: inline-block;
 
width: 15px;
 
height: 15px;
 
margin: 0 2px;
 
border-radius: 50%;
 
cursor: pointer;
 
@include fadeshow-transition(opacity 200ms ease);
 
@include quickNavBtnInactive();
 
 
&:hover {
 
opacity: 0.8;
 
}
 
 
/* Set active state to first button on load */
 
&:first-child {
 
@include quickNavBtnActive();
 
}
 
}
 
 
/* Prev/Next Navigation */
 
%prev-next {
 
position: absolute;
 
display: none;
 
top: 0;
 
bottom: 0;
 
width: 100px;
 
cursor: pointer;
 
font-family: $prev-next-fontfamily;
 
background-color: $prev-next-bg;
 
-webkit-tap-highlight-color: rgba(0,0,0,0);
 
@include fadeshow-transition(all 200ms ease);
 
 
@if $responsive == true {
 
@media (max-width: $breakpoint-small) {
 
width: 50%;
 
}
 
}
 
 
&:before {
 
position: absolute;
 
top: 50%;
 
font-size: $prev-next-icon-size;
 
color: $prev-next-icon-color;
 
}
 
 
&:hover {
 
background-color: $prev-next-bg-hover;
 
@if $responsive == true {
 
@media (max-width: $breakpoint-small) {
 
background-color: rgba(255,255,255,0);
 
}
 
}
 
}
 
}
 
 
.fs-prev-btn {
 
@extend %prev-next;
 
left: 0;
 
 
&:before {
 
content: "#{$prev-icon}";
 
left: 50%;
 
@include fadeshow-transform(translate(-50%, -50%));
 
@if $responsive == true {
 
@media (max-width: $breakpoint-small) {
 
left: 30px;
 
}
 
}
 
}
 
 
@if $autohide-next-prev == true {
 
@include fadeshow-transform(translateX(-100%));
 
@if $responsive == true {
 
@media (max-width: $breakpoint-small) {
 
@include fadeshow-transform(translate(0));
 
}
 
}
 
}
 
}
 
 
.fs-next-btn {
 
@extend %prev-next;
 
right: 0;
 
 
&:before {
 
content: "#{$next-icon}";
 
right: 50%;
 
@include fadeshow-transform(translate(50%, -50%));
 
@if $responsive == true {
 
@media (max-width: $breakpoint-small) {
 
right: 30px;
 
}
 
}
 
}
 
 
@if $autohide-next-prev == true {
 
@include fadeshow-transform(translateX(100%));
 
@if $responsive == true {
 
@media (max-width: $breakpoint-small) {
 
@include fadeshow-transform(translate(0));
 
}
 
}
 
}
 
}
 
 
/* Base functionality */
 
input[type="radio"] {
 
position: fixed;
 
top: -9999px;
 
 
&:checked {
 
 
/* This loop handles the slide switching and quick navigation active state */
 
$i: $max-slides;
 
 
@while $i > 0 {
 
 
&:nth-of-type(#{$i}) {
 
/* Show slide */
 
~ .fs-slides {
 
.fs-slide {
 
//Cancel autoplay
 
opacity: 0;
 
@include fadeshow-animation(none !important);
 
}
 
.fs-slide:nth-child(#{$i}) {
 
opacity: 1;
 
}
 
}
 
 
/* Add active state to dot */
 
~ .fs-quick-nav {
 
.fs-quick-btn {
 
@include quickNavBtnInactive();
 
/* Cancel autoplay */
 
@include fadeshow-animation(none !important);
 
}
 
.fs-quick-btn:nth-child(#{$i}) {
 
background-color: $quick-nav-active-color;
 
&:hover {
 
opacity: 1;
 
}
 
}
 
}
 
 
}
 
$i: $i - 1;
 
}
 
 
/* Hide navigation if only one slide */
 
&:first-of-type:last-of-type {
 
~ .fs-quick-nav,
 
~ .fs-prev-nav,
 
~ .fs-next-nav {
 
display: none !important;
 
}
 
}
 
 
}
 
}
 
 
/* Autohide Prev/Next Navigation */
 
@if $autohide-next-prev == true {
 
&:hover {
 
.fs-prev-btn,
 
.fs-next-btn {
 
@include fadeshow-transform(translateX(0));
 
}
 
}
 
}
 
 
}
 
 
 
/*
 
* ===== PREV/NEXT NAVIGATION =====
 
*
 
* This section handles the prev/next navigation.
 
*/
 
 
/* Handle Prev/Next buttons */
 
[data-am-fadeshow~="next-prev-navigation"] {
 
input[type="radio"] {
 
 
&:checked {
 
 
$i: $max-slides;
 
 
@while $i > 0 {
 
 
&:nth-of-type(#{$i}) {
 
 
$prev: ($i - 1);
 
$next: ($i + 1);
 
 
/* Show previous button */
 
@if $prev > 0 {
 
~ .fs-prev-nav {
 
.fs-prev-btn {
 
display: none;
 
}
 
.fs-prev-btn:nth-child(#{$prev}) {
 
display: block;
 
}
 
}
 
}
 
 
/* Show next button */
 
@if $next < ($max-slides + 1) {
 
~ .fs-next-nav {
 
.fs-next-btn {
 
display: none;
 
}
 
.fs-next-btn:nth-child(#{$next}) {
 
display: block;
 
}
 
}
 
}
 
 
/* Show last prev button if first slide */
 
&:first-of-type {
 
~ .fs-prev-nav {
 
.fs-prev-btn:last-child {
 
display: block;
 
}
 
}
 
}
 
 
/* Show first next button if last slide */
 
&:last-of-type {
 
~ .fs-next-nav {
 
.fs-next-btn:first-child {
 
display: block;
 
}
 
}
 
}
 
 
}
 
  $i: $i - 1;
 
}
 
}
 
}
 
 
/* Display first pair of Prev/Next Buttons on load */
 
.fs-prev-btn:last-child {
 
display: block;
 
}
 
 
.fs-next-btn:nth-child(2) {
 
display: block
 
}
 
 
}
 
 
 
/*
 
* ===== AUTOPLAY =====
 
*
 
* Functions to handle autoplay.
 
* If you're not going to use autoplay, set $autoplay to false.
 
* This part tends to compile into a lot of uneccesary CSS otherwise.
 
*/
 
 
@if $autoplay == true {
 
 
$i: $max-slides;
 
 
@while $i > 1 {
 
 
$total-duration: $autoplay-duration * $i;
 
 
@keyframes quickNavAnimation-#{$i} {
 
0% { @include quickNavBtnInactive();  }
 
#{100% * $fade-time / $total-duration},
 
#{100% * $autoplay-duration / $total-duration} { @include quickNavBtnActive(); }
 
#{100% * ($autoplay-duration + $fade-time) / $total-duration},
 
100% { @include quickNavBtnInactive(); }
 
}
 
@if $prefix == true {
 
@-webkit-keyframes quickNavAnimation-#{$i} {
 
0% { @include quickNavBtnInactive();  }
 
#{100% * $fade-time / $total-duration},
 
#{100% * $autoplay-duration / $total-duration} { @include quickNavBtnActive(); }
 
#{100% * ($autoplay-duration + $fade-time) / $total-duration},
 
100% { @include quickNavBtnInactive(); }
 
}
 
}
 
 
@keyframes slidesAnimation-#{$i} {
 
0% { opacity: 0; }
 
#{100% * $fade-time / $total-duration},
 
#{100% * $autoplay-duration / $total-duration} { opacity: 1; }
 
#{100% * ($autoplay-duration + $fade-time) / $total-duration},
 
100% { opacity: 0; }
 
}
 
@if $prefix == true {
 
@-webkit-keyframes slidesAnimation-#{$i} {
 
0% { opacity: 0; }
 
#{100% * $fade-time / $total-duration},
 
#{100% * $autoplay-duration / $total-duration} { opacity: 1; }
 
#{100% * ($autoplay-duration + $fade-time) / $total-duration},
 
100% { opacity: 0; }
 
}
 
}
 
 
[data-am-fadeshow~="autoplay"] {
 
input[type="radio"]:nth-of-type(#{$i}):last-of-type {
 
 
/* Slide animation */
 
~ .fs-slides {
 
.fs-slide {
 
@include fadeshow-animation(slidesAnimation-#{$i} #{$total-duration}s infinite);
 
}
 
}
 
 
/* Quick navigation animation */
 
~ .fs-quick-nav {
 
.fs-quick-btn {
 
@include fadeshow-animation(quickNavAnimation-#{$i} #{$total-duration}s infinite);
 
}
 
}
 
 
/* Animation Delay */
 
@for $j from 1 through $i {
 
~ .fs-slides .fs-slide:nth-child(#{$j}),
 
~ .fs-quick-nav .fs-quick-btn:nth-child(#{$j}) {
 
$animation-delay: #{($j - 1) * ($autoplay-duration) - $fade-time}s;
 
@include fadeshow-animation-delay(#{$animation-delay});
 
}
 
}
 
 
}
 
$i: $i - 1;
 
}
 
}
 
}
 
 
/* Base Styling */
 
 
body {
 
margin: 0;
 
}
 
 
.container {
 
position: absolute;
 
top: 0;
 
bottom: 0;
 
left: 0;
 
right: 0;
 
box-shadow: 0 0 20px rgba(0,0,0,0.1);
 
overflow: hidden;
 
 
}
 
}
 
</style>
 
</style>
<div class="container">
+
<body>
+
<div data-am-fadeshow="next-prev-navigation">
+
 
+
<!-- Radio -->
+
<input type="radio" name="css-fadeshow" id="slide-1" />
+
<input type="radio" name="css-fadeshow" id="slide-2" />
+
<input type="radio" name="css-fadeshow" id="slide-3" />
+
 
+
<!-- Slides -->
+
<div class="fs-slides">
+
<div class="fs-slide" style="background-image: url(https://images.unsplash.com/photo-1460500063983-994d4c27756c?crop=entropy&fit=crop&fm=jpg&h=1325&ixjsv=2.1.0&ixlib=rb-0.3.5&q=80&w=2550);">
+
<!-- Add content to images (sample) -->
+
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: white; font-family: sans-serif; text-align: center; text-shadow: 0 0 20px rgba(0,0,0,0.5);">
+
<h1 style="margin-top: 0; margin-bottom: 0.8vw; font-size: 5vw; font-weight: bold;">CSS Fadeshow</h1>
+
<p style="font-size: 2vw; font-weight: 100; margin-top: 0;">Easy to implement and use on <strong>your</strong> site!</p>
+
</div>
+
</div>
+
<div class="fs-slide" style="background-image: url(https://images.unsplash.com/photo-1440557653082-e8e186733eeb?crop=entropy&fit=crop&fm=jpg&h=1325&ixjsv=2.1.0&ixlib=rb-0.3.5&q=80&w=2500);"></div>
+
<div class="fs-slide" style="background-image: url(https://images.unsplash.com/photo-1449057528837-7ca097b3520c?crop=entropy&fit=crop&fm=jpg&h=1325&ixjsv=2.1.0&ixlib=rb-0.3.5&q=80&w=2500);"></div>
+
</div>
+
 
+
<!-- Quick Navigation -->
+
<div class="fs-quick-nav">
+
<label class="fs-quick-btn" for="slide-1"></label>
+
<label class="fs-quick-btn" for="slide-2"></label>
+
<label class="fs-quick-btn" for="slide-3"></label>
+
</div>
+
+
<!-- Prev Navigation -->
+
<div class="fs-prev-nav">
+
<label class="fs-prev-btn" for="slide-1"></label>
+
<label class="fs-prev-btn" for="slide-2"></label>
+
<label class="fs-prev-btn" for="slide-3"></label>
+
</div>
+
+
<!-- Next Navigation -->
+
<div class="fs-next-nav">
+
<label class="fs-next-btn" for="slide-1"></label>
+
<label class="fs-next-btn" for="slide-2"></label>
+
<label class="fs-next-btn" for="slide-3"></label>
+
</div>
+
  
</div>
+
</body>
+
</div>
+
 
</html>
 
</html>

Latest revision as of 22:27, 27 November 2016