我正在尝试在CSS3中创建自定义形状,但我在某些屏幕分辨率下遇到对象位置的问题。
我想做的是:
CSS:
.foobar {
position: relative;
width: 100px;
background-color: #666733;
color: #ffffff;
border: none;
padding: 5px 0;
margin-left: 10px;
margin-bottom: 5px;
}
.foobar:before {
content: "";
position: absolute;
width: 110px;
height: 22px;
background: #666733;
padding-left: 0;
margin-left: -32px;
-moz-border-radius: 100px / 50px;
-webkit-border-radius: 100px / 50px;
border-radius: 100px / 50px;
z-index: -100;
}
我遇到的问题是foobar:before
处于不同的屏幕分辨率下:
iPhone:
ipad公司:
桌面:
如何使用CSS正确编码形状,以便它适用于所有屏幕尺寸?我试图通过调整@media
创建margin-left
,但我很想知道是否有更好的方法?
答案 0 :(得分:2)
使用position: absolute;
时,最好使用top, left, right and bottom
位置属性。无论设备如何,您都可以保持一致性。查看DEMO并亲自尝试。
<强> HTML 强>
<div class="foobar"></div>
<强> CSS 强>
.foobar {
position: relative;
width: 150px;
height: 50px;
background: #666733;
}
.foobar:before {
content: "";
position: absolute;
top: 13px;
left: -15px;
width: 180px;
height: 24px;
background: #666733;
border-radius: 15px;
}