CSS Text Hover&过渡效应

时间:2017-02-10 04:45:50

标签: html css

我正在尝试弄清楚如何应用 悬停效果4 http://miketricking.github.io/dist/

我能够在jfiddle,https://jsfiddle.net/34aaqh70/

上提出这个测试

此外,我无法弄清楚如何使自动响应。

如果有人知道解释此效果的视频,请分享!

我的代码:

*------ Basic Setup ------*/ * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  background-color: white;
  color: #fff;
  font-family: 'Raleway', 'Lato', 'Arial', sans-serif;
  font-weight: normal;
  font-size: 20px;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
.clearfix {
  zoom: 1
}
.clearfix:after {
  content: '.';
  clear: both;
  display: block;
  height: 0;
  visibility: hidden;
}
.row {
  max-width: 1140px;
  margin: 0 auto;
}
/*------ Dividers ------*/

.divider {
  width: 25%;
  height: 30px;
  border-bottom: 1px solid rgba(89, 89, 89, 0.65);
  text-align: center;
  margin: auto;
  margin-bottom: 4%;
}
.divider span {
  font-size: 200%;
  background-color: white;
  padding: 0 10px;
}
/*------ DV BOX ------*/

.dv-box {
  padding-bottom: 5%;
}
/*------ Donation ------*/

.donate {
  padding-top: 5%;
  background-color: white;
}
.donate-content {
  color: grey;
  text-align: center;
}
.donate h1 {
  margin-bottom: 0%;
}
.donate-content .description {
  margin-top: 0%;
}
.donate-content p {
  padding-left: 5%;
  padding-right: 5%;
}
.donate img {
  width: 50%;
  height: auto;
  opacity: 1;
}
.donate img:hover {
  opacity: .7;
}
/*------ Volunteer ------*/

.volunteer {
  padding-top: 5%;
  background-color: white;
  padding-bottom: 5%;
}
.volunteer-content {
  color: grey;
  text-align: center;
}
.volunteer h1 {
  margin-bottom: -.5%;
}
.volunteer-content .description {
  margin-top: 0%;
}
.volunteer-content p {
  padding-left: 5%;
  padding-right: 5%;
}
.volunteer img {
  width: 60%;
  height: auto;
  opacity: .9;
}
.volunteer img:hover {
  opacity: 0.7;
}
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">

</head>

<body>


  <div class="row dv-box">

    <!--Donate-->
    <div class="col-md-6">
      <section class="donate" id="donate">
        <div class="donate-content">
          <h1>Donate</h1>
          <div class="divider">
            <span><i class="fa fa-paw" aria-hidden="true"></i></span>
          </div>
          <div class="col-lg-12 description">
            <p>We are always looking for people to help us!</p>
            <p>Click on the image below, to fill out the application form</p>
            <br>
            <a href="#">
              <img src="http://i.imgur.com/SDtdEQE.png" alt="">
            </a>
          </div>

        </div>
      </section>
    </div>




    <!--Volunteer-->
    <div class="col-md-6">
      <section class="volunteer" id="volunteer">
        <div class="volunteer-content">
          <h1>Volunteer</h1>
          <div class="divider">
            <span><i class="fa fa-paw" aria-hidden="true"></i></span>
          </div>
          <div class="col-lg-12 description">
            <p>We are always looking for people to help us!</p>
            <p>Click on the image below, to fill out the application form</p>
            <a href="#">
              <img src="http://i.imgur.com/Z5nGc0D.png" target="_blank" alt="form">
            </a>
          </div>
        </div>
      </section>
    </div>

  </div>
</body>

</html>

2 个答案:

答案 0 :(得分:1)

看起来你的问题是你有一个固定高度/宽度的图像坐在div设置为100%。请尝试下面的代码。

https://jsfiddle.net/nLd80s6f/

我将图像元素的宽度更改为100%,并调整了叠加元素的填充和边距以响应图像。我还将整个图标包装在一个额外的div(class&#34; wrapper&#34;)中,并将宽度设置为80%。这只是为了使图标更接近原始尺寸。如果您在开发工具中将其关闭,您将会看到我添加它的原因。

要使此图标完全响应,您需要添加媒体查询以缩小断点处的字体。如果您对如何做到这一点有疑问,欢迎您提问:)

<div class="wrapper">
  <div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
    <div class="hovereffect">
      <img class="img-responsive" src="http://i.imgur.com/TqiQO5M.png" alt="">
      <div class="overlay">

        <a class="info" href="#">Donate</a>
      </div>
    </div>
  </div>
</div>

.wrapper {
  width: 80%;
}

.hovereffect {
  width: 100%;
  height: 100%;
  float: left;
  overflow: hidden;
  position: relative;
  text-align: center;
  cursor: default;
}

.hovereffect img {
  display: block;
  position: relative;
  width: 100%;
}

.hovereffect .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  border: solid #00ffffff;
  border-radius: 50%;
  box-shadow: 0 0 5px #fff;
  ;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

.hovereffect:hover .overlay {
  background-color: rgba(48, 152, 157, 0.4);
}

.hovereffect a.info {
  font-size: 400%;
  width: 80%;
  height: 80%;
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: transparent;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  font-weight: normal;
  margin: 10%;
  padding: 30% 10%;
}

.hovereffect:hover a.info {
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

答案 1 :(得分:0)

您必须在htmlcss代码中进行一些更改。 您需要在.hovereffect.hovereffect a.info课程中进行更改,并在下面的代码段中添加.hovereffect a.info span课程。

我希望它会帮助你:)

.hovereffect {
  /*width: 100%;*/
  /*height: 100%;*/
  float: left;
  overflow: hidden;
  position: relative;
  text-align: center;
  cursor: default;
}

.hovereffect img {
  display: block;
  position: relative;
}

.hovereffect .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  border: solid #00ffff;
  border-radius: 50%;
  box-shadow: 0 0 5px #fff;;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

.hovereffect:hover .overlay {
  background-color: rgba(48, 152, 157, 0.4);
}

.hovereffect a.info {
  font-size: 3em;
  display: inline-block;
  text-decoration: none;
  padding: 25px 25px;
  text-transform: uppercase;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: transparent;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  font-weight: normal;

  margin: 5% auto;
  /*padding: 150px 80px;*/
  height:90%;
  width: 90%;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
  position: relative;
}
.hovereffect a.info span {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 55px;
    width: 100%;
    left: 0;
    right: 0;
}

.hovereffect:hover a.info {
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
  <div class="hovereffect">
    <img class="img-responsive" src="http://i.imgur.com/TqiQO5M.png" alt="">
    <div class="overlay">
      <a class="info" href="#">
        <span>Donate</span>
      </a>
    </div>
  </div>
</div>