同样的边距为'top'和& # 39;底部# 39;margin 'right'和& #
Give same margin to 'top' and 'bottom' as margin of 'right' and 'left' in responsive design
我有一个容器div,它有动态宽度,它根据屏幕分辨率而变化。在这样的div中,我有另一个固定高度和宽度的元素。我可以给这样的元素一个margin: 0 auto;
,并在中间水平对齐,但是这个技巧不能在中间垂直对齐,因为容器div的高度保持不变(它不是固定的高度,它取决于div内的内容)。因此,当用户改变分辨率时,我想以某种方式应用相同的左、右、上、下边距。所以应该在所有方面都有相同的动态边距?
有基于css的解决方案是很好的,但如果不可能,jQuery也是很好的。
基本上我需要的是计算右侧或左侧的边距,并将这些值应用于顶部和底部的边距。
我认为这里不需要javascript/jQuery解决方案。只需使用CSS就可以做到这一点。
查看vertical-align
属性。您将需要回顾它的警告和需求,因为它要求元素为inline
/inline-block
。
你想要的是:
#centered-element {
display: inline-block;
height: 300px; //your fixed height
width: 250px; // your fixed width
margin-left: auto;
margin-right: auto;
vertical-align: middle;
}
看看这篇文章。它很好地描述了vertical-align
属性,它的用法和限制。
根据你的评论,如果你想(字面上)应用左边距或右边距也为上边距,你可以使用以下jQuery:
$(document).ready(function() {
var $ele = $("#centered-element");
var marginL = $ele.css("margin-left");
$ele.css({
"margin-top": marginL,
"margin-bottom": marginL
});
});
如果你的inside元素的宽度和高度是固定的,你可以使用这个小技巧
#outside {
position: relative;
}
#inside {
position: absolute;
top: 50%;
left: 50%;
height: 500px;
width: 500px;
margin-top: -250px;
margin-left: -250px;
}
这给了一个div浮动容器一个固定的边距。
<div>Content</div>
div {
background: #282;
width:90%;
height:90%;
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
}
http://jsfiddle.net/djwave28/tATZU/1/除了引用内容外,还可以将其放置在容器内。当超过高度时,可以应用CSS中的滚动功能。如果没有,窗口的滚动功能将接管。
http://jsfiddle.net/djwave28/tATZU/2/相关文章:
- margin-left和width属性在mozillafirefox中不起作用
- jQuery 不格式化 html right
- 为什么我的else if语句不适用于javascript中的margin-top
- Chrome form.submit not going to right URL
- Javascript reg exp not right
- jQuery add/removeClass 不会触发 'right' 属性的 CSS 过渡
- 如何根据php标题的长度调整margin-top属性
- 基于style.right重置位置
- Div height with child margin
- 如何在cordova/phonegap中更改document.body.style.margin
- onmousedown - left or right?
- jQuery检查是否单击左ctrl+left shift和左ctrl+right shift
- 单击RIGHT滑块滚动按钮时,Slide.js滑块将背景更改为蓝色
- 设置css right属性时出错
- style.right和.style.top选项未在中更新
- change margin每次滑动事件向左
- CSS如何使用Auto设置margin-top
- margin won't animate back to 0?
- 更正确的是“setposition”或“style.left / right"
- 同样的边距为'top'和& # 39;底部# 39;margin 'right'和& #