当前位置:   article > 正文

CSS学习笔记(九)display: inline-block,CSS 布局- 水平和垂直对齐_displayinlineblock居中对齐

displayinlineblock居中对齐

CSS 布局 - display: inline-block

display: inline-block

display: inline 相比,主要区别在于 display: inline-block 允许在元素上设置宽度和高度。

同样,如果设置了 display: inline-block,将保留上下外边距/内边距,而 display: inline 则不会。

display: block 相比,主要区别在于 display:inline-block 在元素之后不添加换行符,因此该元素可以位于其他元素旁边。

(相当于可以在行上显示块状元素)

使用 inline-block 来创建导航链接

display 的一种常见用法:inline-block 用于水平而不是垂直地显示列表项。下例创建了一个水平导航链接:
实例:

<!DOCTYPE html>
<html>
<head>
<style>
.nav {
  background-color: yellow; 
  list-style-type: none;
  text-align: center;
  margin: 0;
  padding: 0;
}

.nav li {
  display: inline-block;
  font-size: 20px;
  padding: 20px;
}
</style>
</head>
<body>

<h1>水平导航链接</h1>

<p>默认地,列表项是垂直显示的。在本例中,我们使用 display: inline-block 来水平地显示它们(并排)。</p>
<p>注释:如果您调整浏览器的大小,链接会在变得拥挤时自动换行。</p>

<ul class="nav">
  <li><a href="#home">Home</a></li>
  <li><a href="#about">About Us</a></li>
  <li><a href="#clients">Our Clients</a></li>  
  <li><a href="#contact">Contact Us</a></li>
</ul>

</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

CSS 布局 - 水平和垂直对齐

居中对齐元素

要使块元素(例如 <div> )水平居中,请使用 margin: auto;

设置元素的宽度将防止其延伸到容器的边缘。

然后,元素将占用指定的宽度,剩余空间将在两个外边距之间平均分配
实例
.center {

  margin: auto;
  width: 50%;
  border: 3px solid green;
  padding: 20px;
}
  • 1
  • 2
  • 3
  • 4
  • 5

注意:如果未设置 width 属性(或将其设置为 100%),则居中对齐无效。

居中对齐文本

如果仅需在元素内居中文本,请使用 text-align: center;
实例

.center {
  text-align: center;
  border: 3px solid green;
}
  • 1
  • 2
  • 3
  • 4

居中对齐图像

如需居中图像,请将左右外边距设置为 auto,并将其设置为块元素
实例

img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 40%;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

左和右对齐 - 使用 position

对齐元素的一种方法是使用 position: absolute;
实例

.right {
  position: absolute;
  right: 0px;
  width: 300px;
  border: 3px solid #73AD21;
  padding: 20px;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

注意:绝对定位的元素将从正常流中删除,并可能出现元素重叠。

左和右对齐 - 使用 float

对齐元素的另一种方法是使用 float 属性:

实例

.right {
  float: right;
  width: 300px;
  border: 3px solid #73AD21;
  padding: 10px;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注意:如果一个元素比包含它的元素高,并且它是浮动的,它将溢出其容器。您可以使用 clearfix hack 来解决此问题。(添加以下代码)

.clearfix {
  overflow: auto;
}
  • 1
  • 2
  • 3

垂直对齐 - 使用 padding

有很多方法可以在 CSS 中垂直对齐元素。一个简单的解决方案是使用上下内边距
如需同时垂直和水平对齐,请使用 paddingtext-align: center;

垂直对齐 - 使用 line-height

另一个技巧是使用其值等于 height 属性值的 line-height 属性:

垂直对齐 - 使用 position 和 transform

如果您的选择不是 padding 和 line-height,则另一种解决方案是使用 position 和 transform 属性

<!DOCTYPE html>
<html>
<head>
<style>
.center { 
  height: 200px;
  position: relative;
  border: 3px solid green; 
}

.center p {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
</style>
</head>
<body>

<h1>居中</h1>

<p>在此例中,我们使用 position 和 transform 属性将 div 元素垂直和水平居中:</p>

<div class="center">
  <p>我是垂直和水平居中。</p>
</div>

</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/295682
推荐阅读
相关标签
  

闽ICP备14008679号