3

問題: レスポンシブ デザインと 2 列のリンク セットがあります。リンクの各セットはリストです。それらは中央に配置されます。カーソルを合わせると、テキストの横に表示されるはずの矢印がありますが、流動的に配置するのに問題があります。すべてのリスト項目で「機能する」ように、ホバー時に矢印を絶対に配置することを思いついた最高のものです。だめみたいだけど。各リストの各 h3 の左側に配置したいと思います。私はそれを行う賢い方法を考え出していません。

<div class="contentLeft">
        <ul class="ca-menu">
            <li>
                <a href="#">
                    <div class="ca-content">
                        <h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
                        <p class="ca-sub">This is the subheading</p>
                    </div>  
                </a>
            </li>
            <li>
                <a href="#">
                    <div class="ca-content">
                        <h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
                        <p class="ca-sub">This is the subheading</p>
                    </div>
                </a>
            </li>
            <li>
                <a href="#">
                    <div class="ca-content">
                        <h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
                        <p class="ca-sub">This is the subheading</p>
                    </div>
                </a>
            </li>
            <li>
                <a href="#">
                    <div class="ca-content">
                        <h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
                        <p class="ca-sub">This is the subheading</p>
                    </div>
                </a>
            </li>
        </ul>
    </div>
    <div class="contentRight">
        <ul class="ca-menu">
            <li>
                <a href="#">
                    <div class="ca-content">
                        <h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
                        <p class="ca-sub">This is the subheading</p>
                    </div>  
                </a>
            </li>
            <li>
                <a href="#">
                    <div class="ca-content">
                        <h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
                        <p class="ca-sub">This is the subheading</p>
                    </div>
                </a>
            </li>
            <li>
                <a href="#">
                    <div class="ca-content">
                        <h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
                        <p class="ca-sub">This is the subheading</p>
                    </div>
                </a>
            </li>
            <li>
                <a href="#">
                    <div class="ca-content">
                        <h3 class="ca-main"><img src="<?php bloginfo('template_url') ?>/images/arrow-hover.jpg" class="arrow" width="61" height="29" alt="Arrow Hover">This is the link</h3>
                        <p class="ca-sub">This is the subheading</p>
                    </div>
                </a>
            </li>
        </ul>
        </div>

ここに私のCSSがあります:

    .arrow {
  display: none;
  width: 61px;
     }
.ca-menu li:hover .arrow {
  display: inline;
  width: 61px;
  position: absolute;
  top: 10px;

}
.ca-menu {
  margin-left: 0;
  padding-left: 0;
  z-index: 1;
}
.ca-menu li {
  height: 100px;
  overflow: hidden;
  position: relative;
  display: block;
  margin-bottom: 4px;
  -webkit-transition: all 300ms linear;
  -moz-transition: all 300ms linear;
  -o-transition: all 300ms linear;
  -ms-transition: all 300ms linear;
  transition: all 300ms linear;
}
.ca-menu li:last-child {
  margin-bottom: 0px;
}
.ca-menu li a {
  text-align: center;
  width: 100%;
  height: 100%;
  display: block;
  color: #333;
  position: relative;
  text-decoration: none;
}
.ca-content {
  height: 60px;
}
.ca-main {
  font-size: 26px;
  color: #666;
  margin-bottom: 10px;
  text-decoration: none;
  line-height: 29px;
  -webkit-transition: all 300ms linear;
  -moz-transition: all 300ms linear;
  -o-transition: all 300ms linear;
  -ms-transition: all 300ms linear;
  transition: all 300ms linear;
}
.ca-sub {
  color: #999 !important;
  -webkit-transition: all 300ms linear;
  -moz-transition: all 300ms linear;
  -o-transition: all 300ms linear;
  -ms-transition: all 300ms linear;
  transition: all 300ms linear;
}
.ca-menu li:hover .ca-icon {
  color: #e3721e;
  opacity: 0.8;
  text-shadow: 0px 0px 13px #fff;
}
.ca-menu li:hover .ca-main {
  opacity: 1;
  color: #e3721e;
  -webkit-animation: moveFromTop 300ms ease-in-out;
  -moz-animation: moveFromTop 300ms ease-in-out;
  -ms-animation: moveFromTop 300ms ease-in-out;
}
.ca-menu li:hover .ca-sub {
  opacity: 1;
  -webkit-animation: moveFromBottom 300ms ease-in-out;
  -moz-animation: moveFromBottom 300ms ease-in-out;
  -ms-animation: moveFromBottom 300ms ease-in-out;
  color: #333 !important;
}

どんな助けでも大歓迎です。ありがとう!

4

2 に答える 2

0

これに対する簡単な修正は -ve マージンです。これは動作中のライブデモです。しかし、いくつかのことを考慮する必要があります。画像に高さと幅を割り当てる場合、それが変更されていない場合、および CSS で既に設定している場合は、<img>. CSS で画像の幅と高さを定義するだけです。

于 2012-09-03T04:00:34.480 に答える
0

これは間違いなく注目に値するため、これに取り組むためにjsfiddleを開始しました。今、あなたが望んでいたことが正しいかどうかはわかりませんが、これにはもう少し作業が必要であることは確かです. 最初のフォーマットと矢印の外観を下げましたが、両方を有効にするには、特にリンク内の「the」という単語の上にカーソルを置き、マウスを少し上にスライドさせる必要があります。私が提供したものを実際に使用できるように、私はその問題に取り組み続けますが、他に別の方法が必要な場合はお知らせください.

ここにフィドルがあります:ここにリンクされているjsfiddle :)

于 2012-09-03T03:33:47.033 に答える