13

我想DIV在中心左侧放置一个 200 像素。

我目前正在使用以下代码,但在更高分辨率的显示器(例如 1920×1080)上,它DIV滑出了位置:

.hsonuc {
    position: absolute;  
    top: 20px; 
    margin:auto;
    margin-left:200px;
    display:none;
}

我想要达到的目标:

说明位于页面中心左侧 200px 的 div

4

3 回答 3

21

只需将其50%从右侧 ( right:50%;) 定位,然后使用margin-right:200px;(示例) 将其推过。

HTML

<div class="hsonuc">DIV</div>

CSS

.hsonuc {
    position:absolute;
    top:20px;
    right:50%; /* Positions 50% from right (right edge will be at center) */
    margin-right:200px; /* Positions 200px to the left of center */
}
于 2012-06-20T20:13:18.957 回答
3

您可以使用 % 和 px 的组合;如果你的 div 宽度是 300px,那么 div 的一半是 150px。150 + 200 = 350 像素;然后用这个

margin-left:calc(50% - 350px);
于 2016-11-07T18:45:12.223 回答
0

您还可以使用 Javascript 来确定距离浏览器左侧 200px 的中心实际有多少像素。这样你就不必使用position: absolute.

示例(jQuery):

var centerMark = Math.round( $(window).width() / 2 ); //define the center of the screen
var elementWidth = $('.hsonuc').width();
var position = centerMark - 200 - elementWidth; //define where 200 left of the center is and subtract the width of the element.

//now you have `position` you can use it almost any way you like.
//I prefer to use margins, but that's all up to you.

$('.hsonuc').css('margin-left', position);
于 2012-06-21T00:46:58.097 回答