将元素置于元素内部居中 (jQuery)
<div class="preview">
<span class="center">This will be centered</div>
</div>
预览具有固定宽度 (120x120),但跨度可以包含任何内容(图像、文本)。如何使用 jQuery 将其垂直和水平居中?我查找了一些片段,但它们都将元素集中在“主体”内,而不是另一个元素。如果可能的话,我想避免使用“插件”。
非常感谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
最新的 jQuery UI 有一个位置组件:
Doc: http://jqueryui.com/demos/position/
获取:http://jqueryui.com/download
The latest jQuery UI has a position component:
Doc: http://jqueryui.com/demos/position/
Get: http://jqueryui.com/download
既然你不介意使用 jQuery,你可以使用 Center Element 插件
它就像这样简单正在做:
Since you don't mind using jQuery, you can use the Center Element Plugin
It's as simple as doing:
既然你提到你正在使用 jquery,我假设你想通过 javascript 来做到这一点。您可以使用 Jquery 将样式添加到 DOM 中的元素。您可以使用
http://docs.jquery.com/CSS/css#properties
根据元素的不同,如果将边距设置为,则可以将其居中,而无需使用 text-align:center
这会将顶部和底部的边距设置为零,并将左侧和右侧设置为自动,这可以用于将块元素置于另一个块元素的中心。
要在 jquery 中垂直居中元素,您可以使用此
http://cool-javascripts.com/jquery/vertical-alignment-of-contents-inside-an-element-using-jquery.html
Since you mentioned you're using jquery, i assume you would like to do this via javascript. You can add styles to elements in the DOM using Jquery. You can use
http://docs.jquery.com/CSS/css#properties
Depending on the element, you may be able to center it without having to use text-align:center if you set the margin to
This will set the margin on the top and bottom to zero, and auto on the left and right, this can be used to center the block element inside of another block element.
To center an element vertically in jquery you can use this
http://cool-javascripts.com/jquery/vertical-alignment-of-contents-inside-an-element-using-jquery.html
您可以使用仅 CSS 的解决方案(忽略 IE)
使用 display:block 也可以工作,但仅适用于水平对齐,对于垂直对齐,您需要按照上面的代码模拟表格,或者使用 JavaScript。
You can use a CSS only solution (ignoring IE)
<div class="preview" style="display:table-cell;vertical-align:middle;text-align:center;margin:0 auto">
<span class="center">This will be centered</div>
</div>
using display:block will also work but only for horizontal alignment, for vertical alignment either you will need to emulate a table as per the above code or alternatively use JavaScript.
您可以将自己的函数添加到 jquery:
使用:
从代码中获取概念 使用 jQuery 将 DIV 置于屏幕中央
You could add your own function to jquery:
Use:
Took the concept from the code at Using jQuery to center a DIV on the screen
你可以使用 CSS 来做到这一点。
这篇文章提供了一个很好的解决方案 - http://mindthesemicolon.com/how-to-center-an-element-vertically-and-horizontally-using-css/
基本上:
1.将子项设置为绝对位置。
2。将父级设置为相对位置。
3。将子项的左侧和顶部设置为 50%。
4。 Translation(-50%,-50%) 向左和顶部移动子元素宽度的一半。
You could do it using CSS.
This post provides a good solution - http://mindthesemicolon.com/how-to-center-an-element-vertically-and-horizontally-using-css/
Basically:
1. Set the child to position absolute.
2. Set the parent to position relative.
3. Set child's left and top to 50%.
4. translate(-50%,-50%) to shift left and top by half the width of the child element.