要实现将一个元素在窗口上下左右居中,需要结合position: fixed和transform属性来完成。
要实现将一个元素在窗口上下左右居中,需要结合position: fixed和transform属性来完成。
具体操作步骤如下:
- 首先,需要将元素的position属性设为fixed,将其定位在浏览器窗口的位置上。
div{
position: fixed;
top: 50%;
left: 50%;
}
这样做会让这个元素距离窗口顶部和左侧各50%。然而,此时元素的左上角位于窗口左上角的(50%, 50%)位置,而我们需要的是将其中心点置于窗口中心,因此还需要对其进行位移。
- 利用transform属性,将元素往左上方移动其宽度和高度的一半。这样,元素的中心点就位于窗口中心了。
div{
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
这样,窗口中的元素就居中了。当然,如果我们只想将元素在水平方向上居中,可以将元素宽度设为固定值,然后使用margin: 0 auto;实现水平居中。
下面,我们来看两条具体的示例说明:
示例1:居中的div
HTML代码:
<div class="center">
<p>我是一段文字</p>
</div>
CSS代码:
.center{
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 200px;
height: 200px;
background-color: #f7f7f7;
border: 1px solid #ccc;
border-radius: 4px;
}
这段代码会将一个200x200的灰色div居中在窗口中,并在其中放置一段文本。
示例2:水平居中的div
HTML代码:
<div class="center2">
<p>我是一段文字</p>
</div>
CSS代码:
.center2{
position: fixed;
left: 0;
right: 0;
margin: 0 auto;
width: 200px;
height: 200px;
background-color: #f7f7f7;
border: 1px solid #ccc;
border-radius: 4px;
}
这段代码会将一个200x200的灰色div水平居中在窗口中,并在其中放置一段文本。
本文标题为:css中position:fixed实现div在窗口上下左右居中


基础教程推荐
- 浅谈JavaScript的对象类型之function 2023-07-10
- 通过手写instanceof理解原型链示例详解 2023-08-08
- JavaScript之BOM location对象+navigator对象+history 对象 2023-12-02
- Ajax 动态载入html页面后不能执行其中的js快速解决方法 2023-02-14
- vue中定义全局声明vscode插件提示找不到问题解决 2023-07-10
- vue表单验证--银行卡验证 2023-10-08
- LocalStorage记住用户和密码功能 2022-09-16
- mysql-在Yii中排序CHtml :: listData下拉列表 2023-10-26
- js中键盘事件实例简析 2023-12-01
- Ajax实现智能提示搜索功能 2023-01-20