0

我正在玩一些在 codepen 上制作的代码,试图习惯 html/css,因为我对定位不太满意。这一定很愚蠢,但我无法让它发挥作用。

HTML:

<div id="hh">
    <h1>Wacom Hover Effect</h1>
</div>
<div id="cl">
    <a href="#" data-text="Read More" class="button-hover">Read More</a>
    <a href="#" data-text="Learn More" class="button-hover">Learn More</a>
    <a href="#" data-text="Read Article" class="button-hover">Read Article</a>
    <a href="#" data-text="Download" class="button-hover">Download</a>
</div>

CSS:

*, :before, :after{ @include box-sizing('border-box'); }
body{ padding: 1em; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; background: #eee; }

#hh{
   position:absolute; 
   left:50%
   }

h1{
  position:relative;
  left:-50%;
  font: 300 3em/1em 'Open Sans', sans-serif;
  border: solid 0.00019em #000;
  margin-bottom: 0.2em;
  padding: 0.4em 0.2em 0.4em 0.2em;
  background-color:lightblue;
  border-radius:0.2em;
  }
#cl{
   clear:both;
 }

.button,
 [class*="button-"]{

  position: relative;
  display: inline-block;
  overflow: hidden;
  float:left;
  margin: 0 1em 1em 0;
  padding: 0 4em;
  height: 3.5em;
  font: 300 1em/3.5em 'Open Sans', sans-serif;
  text:{
    decoration: none;
    shadow: 0 1px 3px rgba(black, .35);
   }
  letter-spacing: .08em;
  color: #fff;
  background: #0090C0;
  border: solid 1px #fff;
  border-radius: 2px;
  @include transition(.35s ease all);

}

}

之后有一些关于悬停等的无关代码。结果是这样的:http ://codepen.io/roygbiv/full/FjLcA

所以我希望 h1 在中心,我在这里找到了将#hh absolute, left:50% 然后 h1 relative left:-50% 的方法。它搞砸了定位。

我想要的是中心顶部的 h1,然后是它下面的 4 个“a”(不是中心,只是不重叠)。

4

2 回答 2

0

穿上position: absolute一个元素会使所有其他元素忽略它。这可以通过display: inline-block打开h1andtext-align: center来解决#hh

检查新笔:http ://codepen.io/anon/pen/kovaC

#hh {
  text-align: center;
}

h1{
  font: 300 3em/1em 'Open Sans', sans-serif;
  border: solid 0.00019em #000;
  margin-bottom: 0.2em;
  padding: 0.4em 0.2em 0.4em 0.2em;
  background-color:lightblue;
  border-radius:0.2em;
  display: inline-block;
}

inline-block使元素的框适应其文本的宽度。我认为标题的所需外观是蓝色框不是100%宽度,否则与h1其他块元素的情况相同。

于 2013-08-11T10:24:14.443 回答
-1

我在css中做了以下修改,它按预期工作:

#hh{
  text-align: center;
  margin-left:auto;
  margin-right:auto;
  width:40%;
}

h1{
  font: 300 3em/1em 'Open Sans', sans-serif;
  border: solid 0.00019em #000;
  margin-bottom: 0.2em;
  padding: 0.4em 0.2em 0.4em 0.2em;
  background-color:lightblue;
  border-radius:0.2em;
}
于 2013-08-11T10:34:24.073 回答