`

如何让浮动的元素水平居中

    博客分类:
  • CSS
阅读更多

为什么会出现浮动元素呢?简单点,比如说,块级元素表示的列表,默认的,每行列表都独占一行显示,如果想让他们排在一行内,就可以使用浮动定位,将元素浮起来,一行排列。浮动的元素水平居中,有两种情况,一是浮动的元素有固定的宽度,另一种是无法确定宽度的浮动元素居中。

一、确定宽度的浮动元素

用列表表示的水平菜单栏,浮动在一行,整个菜单的宽度是固定的

 

<div class="header">
		<ul>
			<li>HTML/CSS</li>
			<li>JavaScript</li>
			<li>Server Side</li>
			<li>ASP.NET</li>
			<li>XML</li>
			<li>Web Services</li>
		</ul>
	</div>	
<style type="text/css">
	html,body{margin: 0px;padding: 0px;}
	ul {list-style: none;}
	a {text-decoration: none;}

	.header {background: #fbfbfb; width: 700px;margin: 20px auto;height: 50px;font-size: 14px;text-align: center;line-height: 50px;}
	.header ul li {float: left;width: 100px;}
</style>

 因为header的宽度是固定的,所以设置header的左右外边距为自动就可满足header整体居中显示,即:margin:20px auto;上下外边距可自动定义。

 

另:设定header元素的height,同时设定line-height等于height,可以使得header中的元素上下也居中。

二、无法确定宽度的浮动元素居中

一个非常简单的例子,就是用列表来表示页码,因为页码会根据的内容的多少有多有少,无法确定其整个元素的宽度

 

<div class="pagelist">
	<div class="pages">
		<ul>
			<li><a href="#"><<</a></li>
			<li><a href="#">1</a></li>
			<li><a href="#">2</a></li>
			<li><a href="#">3</a></li>
			<li><a href="#">4</a></li>
			<li><a href="#">5</a></li>
			<li>...</li>
			<li><a href="#">99</a></li>
			<li><a href="#">100</a></li>
			<li><a href="#">>></a></li>
		</ul>
	</div>
</div>

 

<style type="text/css">
	ul {list-style: none;}
	a {text-decoration: none;}
	.pagelist{position: relative;float: left;left: 50%;}
	.pages {position: relative;float:left;right: 50%; margin: 20px auto;text-align: center;height: 30px;}
	.pages ul {height: 30px;text-align: center;margin: auto;line-height: 30px;}
	.pages li{float: left;height: 30px;margin-left: 4px;}
	.pages ul li a{border: 1px solid #e3e3e3;border-radius: 3px;padding: 0px 10px;}
</style>

 pages元素显示的是整个页码,并且都浮动在一行,因为pages元素没有固定的宽度,所以,怎么设置pages的左右外边距为自动都不会起效果,设置text-align:center;对其也没有效果,如果这样想的话确实是件很纠结的事。这个时候,需要在pages的外边再添加一个div————pagelist,并且设置 .pagelist {position:relative;float:left;left:50%;} .pages {position:relative;float:left;right:50%;}一样以来,一左一右,就会使得pages中的元素居中显示了

 

分享到:
评论

相关推荐

    css如何让浮动元素水平居中

    对于定宽的非浮动元素我们可以在CSS中用 margin:0 auto 进行水平居中,对于不定宽的浮动元素我们也有一个常用的技巧解决它的水平居中问题。解决水平居中问题有很多种方法,下面先给大家分享一下三种方法,希望能帮助...

    Float 菜单水平居中简单方法

    在传统的浮动布局中,让浮动元素水平居中并不直观,因为`float`属性本身并不支持居中对齐。通常会使用其他技术,例如设置负边距、使用绝对定位或者利用`display:table`等方法。然而,这种方法往往比较复杂,涉及到更...

    DIV+CSS垂直居中一个浮动元素

    `来实现水平居中。然而,这种方法不适用于垂直居中,尤其是对于设置了浮动的元素。 假设我们有以下场景:在一个固定高度(例如300px)的`div`中,包含一个浮动的按钮元素(`button`),我们希望这个按钮能在其父...

    完美实现浮动元素横排居中显示

    来使其水平居中。 ```css .webFooter.wrap { width: 1200px; margin-left: auto; margin-right: auto; background: red; overflow: hidden; *position: relative; } ``` 接着,让子容器(class为"tabs"的div...

    css 水平居中,垂直居中,自适应宽度的代码

    一、宽度自适应的元素水平居中:  1.宽度自适应的元素可以是:绝对位定、浮动元素、行内元素。而我们通常布局,肯定不会用行内元素,所以会选择,绝对定位或浮动。 2.居中:这里我们应该会想到1/2、50%、一半等...

    三种方式实现元素水平居中显示与固定布局和流式布局概念理解

    接下来,我们将讨论三种实现元素水平居中的方法: 1. **自动外边距法(Margin Auto)**:这是最常见的方式,适用于块级元素。例如,给元素设置 `margin: 0 auto`,其左右外边距会自动填充剩余空间,使得元素在父...

    在IE下,当margin:0 auto;无法使得块级元素水平居中时

    `在某些情况下无法使块级元素水平居中,并提供解决方案。 首先,`margin: 0 auto;`这个CSS声明通常用于使具有固定宽度的块级元素在容器内水平居中。其工作原理是将元素的上、下外边距设置为0,左右外边距自动计算,...

    使用CSS居中浮动元素的方法

    其中,如何使元素居中显示是常见的需求之一,尤其是对于浮动元素的居中处理,常常让初学者感到困惑。本文将详细讲解两种使用CSS居中浮动元素的方法。 **方法一:使用绝对定位** 这种方法通过设置元素的绝对定位...

    跨浏览器实现floatcenter.rar

    设置`margin: 0 auto`会使元素水平居中,但对浮动元素无效,因为它已经脱离了正常的文档流。 2. 创建一个包裹容器:将浮动元素放入一个具有`text-align: center`样式的父级容器中。由于文本元素会根据`text-align`...

    浮动后的li元素居中实现方法

    在网页设计中,实现元素居中是一个常见的需求,特别是对于导航条等水平布局的元素。在HTML和CSS中,有多种方法可以实现`li`元素的居中展示。以下是针对标题和描述中提到的三种方法的详细解释: 1. **通过`text-...

    水平垂直居中.docx

    BFC的布局规则可以解决很多布局问题,例如解决浮动元素的高度塌陷问题、解决margin合并问题等。BFC的布局规则可以分为两种:块级盒子和行内盒子。 块级盒子是指display属性为block、list-item或table的元素,它们会...

    css左右居中对齐

    /* 子元素水平居中 */ } ``` 5. **Grid布局**: Grid布局则适用于二维布局。通过`place-items: center`,可以同时实现行和列的居中。 ```css .container { display: grid; place-items: center; /* 子元素...

    为什么div css网页在FF浏览器中不能水平居中呢.docx

    1. **通过`text-align:center`**:将此样式应用于包含所有内容的容器(如`body`),可以使得容器内的文本和内联元素水平居中。例如: ```css body { text-align: center; } ``` 2. **通过`margin:0 auto`**:...

    让横向排列的几个浮动(float:left)的子div居中显示

    然而,这种做法会使得父元素无法通过text-align:center属性来实现子元素的水平居中显示,因为浮动元素脱离了常规的文档流,不再受文本对齐方式的控制。 为了解决这一问题,文章中提到了一种变通的实现方法。具体...

    CSS元素的浮动与定位综合案例3.pdf

    `#container`作为页面的主容器,设置背景色、左对齐、固定宽度、自动水平居中以及相对定位,这为后续的绝对定位提供参考点。 接下来是第一大模块的布局设计。这个模块包含3个子模块。第1个子模块使用背景图像创建大...

    弹出层居中

    在Web开发中,弹出层通常是用来提供额外信息、用户输入或确认操作的浮动元素。居中显示弹出层可以提高用户体验,因为它将焦点放在屏幕中央,使得用户更容易注意到并交互。 实现弹出层居中的方法有很多种,下面是...

    浮动_style_浮动导航栏_css如何浮动_

    接下来,通过使用`float: left`,我们可以让导航栏中的各个链接元素水平排列。`display: block`属性将链接转换为块级元素,允许我们设置宽度和高度,而`text-align: center`则使链接文本居中对齐。 值得注意的是,...

Global site tag (gtag.js) - Google Analytics