【前端】CSS : 对齐、居中

介绍

文本、元素的对齐和居中在开发中经常会用到。本文分别对文本、元素的对齐、居中进行介绍

文本

文本水平居中

{ text-align:center }
复制代码

文本垂直居中line-height设为和height相同的高度(仅单行可用)

{ 
  height:30px;
  line-height:30px;
}
复制代码

元素

通用样式

.background {
    background-color: #7FD0F3;
    border-radius: 8px;
    height: 100px;
}

.item {
    width: 60%;
    background-color: #F19EC4;
    padding: 10px;
    color: #FFFFFF;
    border-radius: 8px;
}
复制代码

水平居中

通过margin:auto实现

.horizontal-align-center {
    margin: auto;
}
复制代码
<div class="background">
    <div class="item horizontal-align-center">PHP才是世界上最好的语言!!!</div>
</div>
复制代码

效果

 

元素设置margin:auto后,元素通过指定宽度,并将两边的空外边距平均分配

注:如果没有设置 width 属性(或者设置 100%),居中对齐将不起作用。

水平对齐

水平对齐——position position更多用法参考:CSS : position

.horizontal-align-right {
    position: absolute;
    right: 10px;
}
复制代码
<div class="background">
    <div class="item horizontal-align-right">PHP才是世界上最好的语言!!!</div>
</div>
复制代码

效果

 

水平对齐——float float更多用法参考:CSS : float

.horizontal-align-right2 {
    float: right;
}
复制代码
<div class="background">
    <div class="item horizontal-align-right2">PHP才是世界上最好的语言!!!</div>
</div>
复制代码

效果:如上图

垂直居中

.vertical-align-center {
    margin: 0;
    position: absolute;
    top:50%;
    -ms-transform: translate(-0%, -50%);
    transform: translate(-0%, -50%);
}
复制代码
<div class="background" style="position: relative;" >
    <p class="item vertical-align-center">PHP才是世界上最好的语言!!!</p>
</div>
复制代码

效果:

 

水平垂直居中

.align-center {
    margin: 0;
    position: absolute;
    top:50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: auto;
}
复制代码
<div class="background" style="position: relative;" >
    <p class="item align-center">PHP才是世界上最好的语言!!!</p>
</div>
复制代码

通过flex实现

强大的flex几乎能满足你的所有需求

水平居中

.horizontal-align-center-flex {
    display: flex;
    justify-content: center;
}
复制代码
<div class="background horizontal-align-center-flex" >
    <p class="item">PHP才是世界上最好的语言!!!</p>
</div>
复制代码

效果:

 

问题:高度有点怪 原因:p标签自带的margin

垂直居中

.vertical-align-center-flex {
    display: flex;
    align-items: center;
}
复制代码
<div class="background vertical-align-center-flex" >
    <p class="item">PHP才是世界上最好的语言!!!</p>
</div>
复制代码

 

子元素使用align-self: center也能垂直居中

水平垂直居中

.align-center-flex {
    display: flex;
    justify-content: center;
    align-items: center;
}
复制代码
<div class="background align-center-flex" >
    <p class="item">PHP才是世界上最好的语言!!!</p>
</div>
复制代码

效果:


作者:Gavin_ZYX
链接:https://juejin.cn/post/6844903776965361677
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下代码实现了你所需的登录页面布局,其中用户名和密码输入框都居中对齐,布局合理,记住密码勾选框和登录按钮颜色为浅色蓝色。 ```html <!DOCTYPE html> <html> <head> <title>Login Page</title> <style type="text/css"> body { background-color: #f2f2f2; font-family: Arial, sans-serif; } .container { width: 400px; margin: 0 auto; margin-top: 100px; border: 1px solid #ccc; padding: 20px; background-color: #fff; border-radius: 5px; box-shadow: 0 0 5px #ccc; } h1 { text-align: center; margin-bottom: 30px; } label { display: block; margin-bottom: 10px; font-weight: bold; } input[type="text"], input[type="password"] { width: 100%; padding: 10px; border-radius: 5px; border: 1px solid #ccc; box-sizing: border-box; margin-bottom: 20px; font-size: 16px; text-align: center; } .remember-me { margin-bottom: 20px; } .btn-login { display: block; width: 100%; padding: 10px; background-color: #b3d9ff; color: #fff; border: none; border-radius: 5px; font-size: 16px; cursor: pointer; transition: background-color 0.3s; } .btn-login:hover { background-color: #99c2ff; } </style> </head> <body> <div class="container"> <h1>Login</h1> <form> <label for="username">Username:</label> <input type="text" id="username" name="username" placeholder="Enter your username"> <label for="password">Password:</label> <input type="password" id="password" name="password" placeholder="Enter your password"> <div class="remember-me"> <input type="checkbox" id="remember" name="remember"> <label for="remember">Remember me</label> </div> <button type="submit" class="btn-login">Login</button> </form> </div> </body> </html> ``` 你可以在浏览器中打开该文件,查看实际效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值