我在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绝对值的方法,左边:50%然后是h1相对左边:-50%。它搞砸了定位。
我想要的是中心顶部的h1,然后是它下面的4“a”(不是中心,只是不重叠)。
答案 0 :(得分:0)
将position: absolute
放在元素上会使所有其他元素忽略它。这可以通过将display: inline-block
放在h1
上的text-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
和其他块元素就是这种情况。
答案 1 :(得分:-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;
}