我正在做一个网站,我试图将文字集中,但我不知道顶部是什么不起作用的。如果我使用这样的东西,它可以工作:
up:25px;
,但是当我想使用此问题时,这是不起作用的:
up:50%;
你能帮我吗?这是我的代码:
.absolute{
position:absolute;
}
.relative{
position:relative;
}
.white{
background-color:white;
}
#menu-title{
width:300px;
z-index:5;
top:50%;
left:calc(50% - 150px);
top:calc(50% - 2.5em);
}
<div class='relative' id='menu'>
<div class='absolute white' id='menu-title'>
<h2 >Menu</h2>
</div>
</div>
考虑到您想将<h2>
与'菜单列表'的ID相中为CC_1,您有几种方法可以做到。
如果要使用首先要定义要修复的位置的顶部属性,例如:
#menu-title {
position: fixed;
top: 50%;
}
另一种方法是使用边距:
#menu-title {
margin-top: 100px;
}
您可以随时更改PX。
您应该使用位置:固定并且还取决于文本的大小,您可以将其移至中心,并使用变换
#menu-title{
position: fixed;
top: 50%;
left: 50%;
/* bring your own prefixes */
transform: translate(-50%, -50%);
}
希望有帮助
使position:fixed
.absolute{
position:fixed;
}
.relative{
position:relative;
}
.white{
background-color:white;
}
#menu-title{
width:300px;
z-index:5;
top:50%;
left:calc(50% - 150px);
top:calc(50% - 2.5em);
}
<div class='relative' id='menu'>
<div class='absolute white' id='menu-title'>
<h2 >Menu</h2>
</div>
</div>
首先...它正在工作,只能像您期望的那样。CSS top:calc(50% - 2.5em)
是相对于第一个定位的祖先元素的。在您的情况下,这是带有id="menu"
的相对(父)元素。该元素的高度为0。因此,它可以按照应有的方式工作,但并不是您预期的。
您可能已经期望菜单具有一定的高度。它没有,因为它的独生子(菜单标题div)是绝对的。绝对定位的元素不会增长父母。
您更有可能的是,您期望标题将相对于视口高度定位,而不是相对于其父母。
有三种方法可以将菜单标记相对于视口高度放置:
解决方案1.从父
中删除相对定位这将使父母位置静态(未定位),并且第一个定位的祖先元素成为视口。视口本质上的高度为100%。因此,该解决方案有效。可以在此处找到此解决方案的工作示例:http://codepen.io/anon/pen/bblzva
解决方案2.给父母100%高度
从祖先删除相对定位时,您可以选择100%的高度。但是,这不是一项直接的任务。只需将CSS height: 100%
添加到父级是不够的。菜单div的高度相对于其父元素的高度,而不是视图的高度。因此,您需要将父母明确设置为100%(视口高)。这可以通过将body,html {height: 100%;}
添加到CSS来实现。可以在此处找到此解决方案的工作示例:http://codepen.io/anon/pen/pen/xnzgov
解决方案3.使用固定位置
知道position: fixed
与position: absolute
根本不同,并且在较旧的iOS和Android版本(库存浏览器)上存在兼容性问题。但是,这可能会导致预期的行为。这可以通过以下事实来解释:"位置:固定"意味着相对于视口(而不是父母)的定位。您应该使用固定在标题自己的位置。可以在此处找到此解决方案的工作示例:http://codepen.io/anon/pen/pbqgpb