<title>歪曲的标题文本</title> <script type="text/javascript" src="js/jquery.min...."/>

jQuery+CSS3文字弯曲排列特效

56次阅读
没有评论

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>歪曲的标题文本</title>

<script type="text/javascript" src="js/jquery.min.js"></script>

<style>
body {
  margin-top: 180px;
  background-color: #112;
  background-color: #0c2d41;
  font-family: Roboto, 'helvetica neue', Helvetica, Arial, sans-serif;
}
.container {
  width: 800px;
  margin: auto;
}
.row {
  position: relative;
  height: 50px;
  z-index: 1;
  clear: both;
  margin-bottom: 30px;
  text-align: center;
}
.row--intro {
  padding-top: 20px;
  font-size: 16px;
  line-height: 28px;
  font-weight: 300;
  color: #fff;
  opacity: 0.4;
}
.row--intro span {
  font-size: 11px;
}
.skew-title {
  font-size: 25px;
}
.skew-title span {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 50px;
  margin: auto;
  z-index: 2;
  text-align: center;
  color: #fff;
  font-family: 'roboto condensed';
  font-weight: 700;
  font-size: 35.714285714285715px;
  line-height: 50px;
  -webkit-transform: skewY(-15deg);
          transform: skewY(-15deg);
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%;
  transition: all 0.2s;
  cursor: default;
}
.skew-title span:after,
.skew-title span:before {
  display: block;
  top: 0;
  left: 0;
  width: 40px;
  height: 50px;
  position: absolute;
  background: #185a81;
  content: ' ';
  z-index: -1;
  transition: all 0.2s;
}
.skew-title span:before {
  background: rgba(0,0,0,0.1);
  -webkit-transform: skewY(15deg);
          transform: skewY(15deg);
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
}
.skew-title span:nth-child(even) {
  background-color: #144c6e;
  -webkit-transform: skewY(15deg);
          transform: skewY(15deg);
  -webkit-transform-origin: 100% 100%;
          transform-origin: 100% 100%;
  color: #d9d9d9;
}
.skew-title span:nth-child(even):after {
  background-color: #144c6e;
}
.skew-title span:nth-child(even):before {
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
  -webkit-transform: skewY(-15deg);
          transform: skewY(-15deg);
}
.skew-title span.flat {
  -webkit-transform: skewY(0);
          transform: skewY(0);
  color: #fff;
}
.skew-title span.flat:before {
  -webkit-transform: skewY(0);
          transform: skewY(0);
}
.skew-title span.flat:nth-child(even):after {
  background-color: #185a81;
}
.skew-title span.alt:after {
  background-color: #b94a2c;
}
.skew-title span.alt:nth-child(even):after {
  background-color: #9d3f25;
}
.skew-title span.alt.flat:nth-child(even):after {
  background-color: #b94a2c;
}
</style>
</head>
<body>
<div class="container">
  <h1 class="row skew-title">  
    <span>S</span><span>K</span><span>E</span><span>W</span><span>E</span><span class="last">D</span>
      
    <span>T</span><span>E</span><span>X</span><span class="last">T</span>
     
    <span class="alt">C</span><span class="alt">S</span><span class="alt">S</span><span class="alt last">3</span>
  </h1>
  <p class="row row--intro">用CSS3属性和JS悬停制作页面标题的特效</p>
</div>

<script type="text/javascript">
(function() {
  // We must use JS as we need to select previous
  // elements which can't be done with CSS.
  $('.skew-title').children('span').hover((function() {
    var $el, n;
    $el = $(this);
    n = $el.index() + 1;
    $el.addClass('flat');
    if (n % 2 === 0) {
      return $el.prev().addClass('flat');
    } else {
      if (!$el.hasClass('last')) {
        return $el.next().addClass('flat');
      }
    }
  }), function() {
    return $('.flat').removeClass('flat');
  });

}).call(this);
</script>

</body>
</html>
正文完
 
评论(没有评论)