CSS 定位因屏幕而异?
CSS positioning varies per screen?
我正在尝试让一个徽标在屏幕上有一个静态位置,比如从顶部开始水平居中的 40px
。当我尝试这个时,它起作用了。但是,定位因屏幕尺寸而异。我怎样才能让所有屏幕都保持静态?
我的代码:
<html>
<head>
<style type="text/css">
body{
background-image: url("images/bg.jpg");
background-color: #844903;
}
.logo{
position: fixed;
top: 40px;
right: 850px;
}
h1{
position: fixed;
top: 250px;
right: 720px;
color: #a86b00;
}
.rf_id{
position: fixed;
top: 50%;
right: 50%;
}
</style>
<title></title>
</head>
<body>
<h1>Welcome, Please scan your studentcard:</h1>
<div class="logo"><a href="index.html"><img src="images/logo.jpg" alt="logo" </a></div>
<button class="rf_id" type="submit" style="border: 0; background: transparent"><a href="index1.5.html"><img src="images/rf_id.jpg" alt="submit"/></a></button>
</body>
</html>
使用像素来定位一些元素是很棘手的,因为在移动屏幕中有不同的密度(1x、2x、1.5x、...),所以在密度为 2x 的屏幕中,一个 1 像素并不是真正的 1px。
我建议您使用 em 进行布局,或者如果可以,使用新的 css3 尺寸:vh 和 vw。
您可以试试所谓的 'media query'
这是 CSS 的一部分,可以根据屏幕尺寸为您的 html 设置不同的 css。
示例 1:
@media (max-width: 600px) {
.logo{
position: fixed;
top: 40px;
right: 850px;
}
}
这意味着如果屏幕尺寸小于 600px .logo
将设置 属性。
示例 2:
@media all {
.logo{
position: fixed;
top: 40px;
right: 850px;
}
}
这将在所有屏幕尺寸上将 .logo
设置为设置 属性。
您可以组合使用这些 media query
以获得所需的效果。
阅读更多相关信息:
https://css-tricks.com/css-media-queries/
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries
我正在尝试让一个徽标在屏幕上有一个静态位置,比如从顶部开始水平居中的 40px
。当我尝试这个时,它起作用了。但是,定位因屏幕尺寸而异。我怎样才能让所有屏幕都保持静态?
我的代码:
<html>
<head>
<style type="text/css">
body{
background-image: url("images/bg.jpg");
background-color: #844903;
}
.logo{
position: fixed;
top: 40px;
right: 850px;
}
h1{
position: fixed;
top: 250px;
right: 720px;
color: #a86b00;
}
.rf_id{
position: fixed;
top: 50%;
right: 50%;
}
</style>
<title></title>
</head>
<body>
<h1>Welcome, Please scan your studentcard:</h1>
<div class="logo"><a href="index.html"><img src="images/logo.jpg" alt="logo" </a></div>
<button class="rf_id" type="submit" style="border: 0; background: transparent"><a href="index1.5.html"><img src="images/rf_id.jpg" alt="submit"/></a></button>
</body>
</html>
使用像素来定位一些元素是很棘手的,因为在移动屏幕中有不同的密度(1x、2x、1.5x、...),所以在密度为 2x 的屏幕中,一个 1 像素并不是真正的 1px。
我建议您使用 em 进行布局,或者如果可以,使用新的 css3 尺寸:vh 和 vw。
您可以试试所谓的 'media query'
这是 CSS 的一部分,可以根据屏幕尺寸为您的 html 设置不同的 css。
示例 1:
@media (max-width: 600px) {
.logo{
position: fixed;
top: 40px;
right: 850px;
}
}
这意味着如果屏幕尺寸小于 600px .logo
将设置 属性。
示例 2:
@media all {
.logo{
position: fixed;
top: 40px;
right: 850px;
}
}
这将在所有屏幕尺寸上将 .logo
设置为设置 属性。
您可以组合使用这些 media query
以获得所需的效果。
阅读更多相关信息:
https://css-tricks.com/css-media-queries/
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries