>  기사  >  웹 프론트엔드  >  순수 CSS3를 사용하여 타임라인 전환 포커스 맵 예제 코드 구현

순수 CSS3를 사용하여 타임라인 전환 포커스 맵 예제 코드 구현

高洛峰
高洛峰원래의
2017-03-20 16:02:492386검색

jQuery와 CSS3를 기반으로 한 포커스 이미지 애니메이션 플러그인입니다. 플러그인은 매우 작고 기능은 비교적 간단합니다. 버튼이 있습니다. 🎜> 타임라인의 원을 클릭하면 해당 사진으로 전환됩니다. 전환 버튼을 클릭하면 버튼에 페이드 인 및 아웃되는 발광 효과가 나타납니다. 이미지 전환 과정에서 전체 이미지의 전환 효과가 매우 부드럽고 이미지 설명도 애니메이션으로 이미지에 표시됩니다. 방식으로 매우 훌륭한 CSS3 이미지 전환 구성 요소입니다.

순수 CSS3를 사용하여 타임라인 전환 포커스 맵 예제 코드 구현

온라인 데모 소스 코드 다운로드HTML 코드:

<p id="gal">
  <nav class="galnav">
    <ul>
		<li><input type="radio" name="btn" value="one" checked="checked" />
		<label for="btn"></label>
        <figure>
          <img  src="images/01_Fabio_Basile.jpg" / alt="순수 CSS3를 사용하여 타임라인 전환 포커스 맵 예제 코드 구현" >
          <figcaption>
            <h4>Fabio Basile</h4>
              <nav role=&#39;navigation&#39;>
                <p>iPhone 6 Infinity</p>
		<ul>
			<li><a href="#" class="entypo-dribbble">
			</a></li>
			<li><a href="#" class="entypo-twitter"></a>
			</li>
		</ul>
              </nav>  
          </figcaption>
        </figure>
      	</li>
		<li><input type="radio" name="btn" value="two" /> <label for="btn">
		</label>
         <figure class="entypo-forward">
          <img  src="images/08_Brian_Miller.jpg" / alt="순수 CSS3를 사용하여 타임라인 전환 포커스 맵 예제 코드 구현" >
          <figcaption>
            <h4>Brian Miller</h4>
              <nav role=&#39;navigation&#39;>
                <p>TypeTi.me</p>
		<ul>
			<li><a href="#" class="entypo-dribbble"></a>
			</li>
			<li><a href="#" class="entypo-twitter"></a>
			</li>
		</ul>
              </nav>  
          </figcaption>
        </figure>
      	</li>
		<li><input type="radio" name="btn" value="three" /> <label for="btn">
		</label>
        <figure class="entypo-forward">
          <img  src="images/05_Nicolas_Quod.jpg" / alt="순수 CSS3를 사용하여 타임라인 전환 포커스 맵 예제 코드 구현" >
          <figcaption>
            <h4>Nicolas Quod</h4>
              <nav role=&#39;navigation&#39;>
                <p>Iphone 6 - Notification - iOS 7</p>
		<ul>
			<li>
			<a href="#" class="entypo-dribbble">
			</a></li>
			<li>
			<a href="#" class="entypo-twitter">
			</a></li>
		</ul>
              </nav>  
          </figcaption>
        </figure>
      	</li>
		<li><input type="radio" name="btn" value="four" /> <label for="btn">
		</label>
         <figure class="entypo-forward">
          <img  src="images/04_Joffrey.jpg" / alt="순수 CSS3를 사용하여 타임라인 전환 포커스 맵 예제 코드 구현" >
          <figcaption>
            <h4>Joffrey</h4>
              <nav role=&#39;navigation&#39;>
                <p>功能齐全</p>
		<ul>
			<li><a href="#" class="entypo-dribbble">
			</a></li>
			<li><a href="#" class="entypo-twitter">
			</a></li>
		</ul>
              </nav>  
          </figcaption>
        </figure>
      	</li>
		<li><input type="radio" name="btn" value="five" /> <label for="btn">
		</label>
         <figure class="entypo-forward">
          <img  src="images/09_Jared_Long.jpg" / alt="순수 CSS3를 사용하여 타임라인 전환 포커스 맵 예제 코드 구현" >
          <figcaption>
            <h4>Jared Long</h4>
              <nav role=&#39;navigation&#39;>
                <p>Don&#39;t drop your iPhone Infinity</p>
		<ul>
			<li>
			<a href="#" class="entypo-dribbble">
			</a></li>
			<li>
			<a href="#" class="entypo-behance">
			</a></li>
		</ul>
              </nav>  
          </figcaption>
        </figure>
      	</li>
		<li><input type="radio" name="btn" value="six" /> <label for="btn">
		</label>
         <figure class="entypo-forward">
          <img  src="images/02_Charles_Treece.jpg" / alt="순수 CSS3를 사용하여 타임라인 전환 포커스 맵 예제 코드 구현" >
          <figcaption>
            <h4>Charles Treece</h4>
              <nav role=&#39;navigation&#39;>
                <p>iPhone 6 Infinity Side Status Bar</p>
		<ul>
			<li>
			<a href="#" class="entypo-dribbble">
			</a></li>
			<li>
			<a href="#" class="entypo-twitter">
			</a></li>
		</ul>
              </nav>  
          </figcaption>
        </figure>
      	</li>
	</ul>
  </nav>
</p>

CSS 코드

이렇기 때문에 focus 이미지 플러그인은

JS 코드를 사용하지 않으므로 이미지 전환 기능은 모두 CSS3 관련 기능에 의존합니다. 구체적인 CSS 코드는 다음과 같습니다.

#gal {
  position:relative;
  width:600px;
  height:300px;
  margin:0 auto;
  top:100px;
  background:white;
  -webkit-box-shadow:0px 0px 0px 10px white,
             5px 5px 0px 10px rgba(0,0,0,0.1);
  -moz-box-shadow:0px 0px 0px 10px white,
             5px 5px 0px 10px rgba(0,0,0,0.1);
  box-shadow:0px 0px 0px 10px white,
             5px 5px 0px 10px rgba(0,0,0,0.1);
  -webkit-transform:translate3d(0, 0, 0);
  -moz-transform:   translate3d(0, 0, 0);
  -ms-transform:    translate3d(0, 0, 0);
  -o-transform:     translate3d(0, 0, 0);
  transform:        translate3d(0, 0, 0);
}
#gal:after {
  content:&#39;&#39;;
  position:absolute;
  bottom:24px;
  right:0;
  left:0;
  width:100%;
  height:1px;
  background:rgba(255,255,255,0.35);
  z-index:3;
}
#gal ul {list-style-type:none;}
input[type="radio"], input[type="radio"] + label {
  position:absolute;
  bottom:15px;
  display:block;
  width:20px;
  height:20px;
  -webkit-border-radius:50%;
  -moz-border-radius:50%;
  border-radius:50%;
  cursor:pointer;
}
input[type="radio"] {
  opacity:0;
  z-index:9;
}
input[value="one"], input[value="one"] + label {left:20px;}
input[value="two"], input[value="two"] + label {left:128px;}
input[value="three"], input[value="three"] + label {left:236px;}
input[value="four"], input[value="four"] + label {left:344px;}
input[value="five"], input[value="five"] + label {left:452px;}
input[value="six"], input[value="six"] + label {right:20px;}
input[type="radio"] + label {
  background:rgba(255,255,255,0.35);
  z-index:7;
  -webkit-box-shadow:0px 0px 0px 0px rgba(255,255,255,0.15);
  -moz-box-shadow:0px 0px 0px 0px rgba(255,255,255,0.15);
  box-shadow:0px 0px 0px 0px rgba(255,255,255,0.15);
  -webkit-transition:all .3s;
  -moz-transition:all .3s;
  -o-transition:all .3s;
  transition:all .3s;
}
[class*="entypo-"]:before {
  position:absolute;
  font-family: &#39;entypo&#39;, sans-serif;
}
figure[class*="entypo-"]:before {
  left:10px;
  top:5px;
  font-size:2rem;
  color:rgba(255,255,255,0);
  z-index:1;
  -webkit-transition:color .1s;
  -moz-transition:color .1s;
  -o-transition:color .1s;
  transition:color .1s;
}
a[class*="entypo-"]:before {
  top:8px;
  left:9px;
  font-size:1.5rem;
  color:white;
}
a:hover[class*="entypo-"]:before {
  color:white;
}
figure, figure img, figcaption {
  position:absolute;
  top:0;
  right:0;
}
figure {
  bottom:0;
  left:0;
  width:600px;
  height:300px;
  display:block;
  overflow:hidden;
}
figure img {
  bottom:0;
  left:0;
  display:block;
  width:600px;
  height:300px;
  z-index:1;
  -webkit-transform:translateX(600px);
  -moz-transform:translateX(600px);
  -ms-transform:translateX(600px);
  -o-transform:translateX(600px);
  transform:translateX(600px);
  -webkit-transition:all .15s .15s, z-index 0s;
  -moz-transition:all .15s .15s, z-index 0s;
  -o-transition:all .15s .15s, z-index 0s;
  transition:all .15s .15s, z-index 0s;
}
figcaption {
  display:block;
  width:270px;
  height:300px;
  padding-top:20px;
  background-image:radial-gradient(rgba( 255,255,255,0.3), transparent);
  background-size:600px 600px;
  background-repeat:no-repeat;
  background-position:-300px -150px;
  text-align:center;
  z-index:3;
  -webkit-box-shadow:-5px 0px 20px rgba(0,0,0,0.1);
  -moz-box-shadow:-5px 0px 20px rgba(0,0,0,0.1);
  box-shadow:-5px 0px 20px rgba(0,0,0,0.1);
  -webkit-transform:translateX(300px);
  -moz-transform:translateX(300px);
  -ms-transform:translateX(300px);
  -o-transform:translateX(300px);
  transform:translateX(300px);
  -webkit-transition:all .35s;
  -moz-transition:all .35s;
  -o-transition:all .35s;
  transition:all .35s;
}
h4 {
  display:inline-block;
  padding:0 15px;
  color:white;
  font-family: &#39;Titillium Web&#39;, sans-serif;
  font-weight:300;
  font-size:2rem;
}
figcaption nav ul {display:block;padding-top:10px;}
figcaption nav ul li {display:inline-block;margin-left:5px;}
figcaption nav ul li a {
  position:relative;
  display:block;
  width:40px;
  height:40px;
  background:rgba(255,255,255,0.2);
  text-decoration:none;
  color:white;
  -webkit-border-radius:50%;
  -moz-border-radius:50%;
  border-radius:50%;
  -webkit-box-shadow:inset 0px 0px 0px 0px rgba(255,255,255,0);
  -moz-box-shadow:inset 0px 0px 0px 0px rgba(255,255,255,0);
  box-shadow:inset 0px 0px 0px 0px rgba(255,255,255,0);
  -webkit-transition:all .15s;
  -moz-transition:all .15s;
  -o-transition:all .15s;
  transition:all .15s;
}
figcaption nav ul li a:hover {
  background:rgba(255,255,255,0);
  -webkit-box-shadow:inset 0px 0px 0px 2px rgba(255,255,255,1);
  -moz-box-shadow:inset 0px 0px 0px 2px rgba(255,255,255,1);
  box-shadow:inset 0px 0px 0px 2px rgba(255,255,255,1);
}
figcaption p {
  padding:50px 15px;
  font-family:&#39;Titillium Web&#39;, sans-serif;
  font-weight:300;
  color:#333;
  background-image:-webkit-gradient(linear, 0 0, 0 100%, from(rgba(255,255,255,0.35)), color-stop(0.3, rgba(255,255,255,0.35)), color-stop(0.3, transparent), color-stop(0.7, transparent), color-stop(0.7, rgba(255,255,255,0.35)), to(rgba(255,255,255,0.35)));
  background-image:-webkit-linear-gradient(rgba(255,255,255,0.35) 0%, rgba(255,255,255,0.35) 30%, transparent 30%, transparent 70%, rgba(255,255,255,0.35) 70%, rgba(255,255,255,0.35) 100%);
  background-image:-moz-linear-gradient(rgba(255,255,255,0.35) 0%, rgba(255,255,255,0.35) 30%, transparent 30%, transparent 70%, rgba(255,255,255,0.35) 70%, rgba(255,255,255,0.35) 100%);
  background-image:-o-linear-gradient(rgba(255,255,255,0.35) 0%, rgba(255,255,255,0.35) 30%, transparent 30%, transparent 70%, rgba(255,255,255,0.35) 70%, rgba(255,255,255,0.35) 100%);
  background-image:linear-gradient(rgba(255,255,255,0.35) 0%, rgba(255,255,255,0.35) 30%, transparent 30%, transparent 70%, rgba(255,255,255,0.35) 70%, rgba(255,255,255,0.35) 100%);
  background-size:1px 100%;
  background-repeat:no-repeat;
  background-position:50% 0%;
}

input[type="radio"]:hover + label {
  background:rgba(255,255,255,0.6);
}
input[type="radio"]:checked + label {
  background:rgba(255,255,255,1);
  -webkit-box-shadow:0px 0px 0px 5px rgba(255,255,255,0.3);
  -moz-box-shadow:0px 0px 0px 5px rgba(255,255,255,0.3);
  box-shadow:0px 0px 0px 5px rgba(255,255,255,0.3);
}
input[type="radio"]:checked + label:before {}
input[type="radio"]:checked ~ figure img {
  z-index:2;
  -webkit-transform:translatex(0px);
  -moz-transform:translatex(0px);
  -ms-transform:translatex(0px);
  -o-transform:translatex(0px);
  transform:translatex(0px);
  -webkit-transition:all .15s, z-index 0s;
  -moz-transition:all .15s, z-index 0s;
  -o-transition:all .15s, z-index 0s;
  transition:all .15s, z-index 0s;
}
input[type="radio"]:checked ~ figure[class*="entypo-"]:before {
  z-index:3;
  color:rgba(255,255,255,0.5);
  -webkit-transition:color .5s;
  -moz-transition:color .5s;
  -o-transition:color .5s;
  transition:color .5s;
}
input[type="radio"]:checked ~ figure figcaption {
  z-index:8;
  -webkit-transform:translateX(0px);
  -moz-transform:translateX(0px);
  -ms-transform:translateX(0px);
  -o-transform:translateX(0px);
  transform:translateX(0px);
  -webkit-transition:all .35s, .7s;
  -moz-transition:all .35s, .7s;
  -o-transition:all .35s, .7s;
  transition:all .35s, .7s;
}

위 내용은 순수 CSS3를 사용하여 타임라인 전환 포커스 맵 예제 코드 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.