css自适应宽度 多种方法实现宽度自适应的水平居中(转载)

当父元素和子元素都没有定义宽度的情况下实现水平居中:

display:inline-block

可以使用text-align:center和display:inline-block相结合,这个技巧需要一个父元素。
HTML代码:

复制代码

代码如下:

<div class="navbar">
<ul>

<li><a href="/">Home</a></li>

</ul>

</div>

CSS代码:

复制代码

代码如下:

.navbar {
text-align:center;
}

.navbar ul {
display:inline-block;
}
.navbar li {

float:left;
}
.navbar li + li {
margin-left:20px;
}

IE系列IE8+支持,要IE7 IE6
支持需要加入以下代码使display:inline像display:inline-block一样

复制代码

代码如下:

.navbar ul {
*display:inline;

*zoom:1;
}

position:relative

使用position:relative与float相结合的技巧及其浮动和定位参照物的关系,这个技巧需要两个父元素,一个用来定位而另外一个用来避免出现滚动条。

HTML代码:

复制代码

代码如下:

<div class="navbar">
<div>

<ul>
<li><a href="/">Home</a></li>

</ul>
</div>
</div>

CSS代码:

复制代码

代码如下:

.navbar {
overflow:hidden;
}

.navbar > div {
position:relative;
left:50%;
float:left;

}
.navbar ul {
position:relative;
left:-50%;
float:left;

}
.navbar li {
float:left;
}
.navbar li + li {

margin-left:20px;
}

IE7下需要加入下列代码支持:

复制代码

代码如下:

.navbar {
position:relative;
}

display:table
如果向使用极少的标签实现,这个方法是个不错的选择。

HTML代码:

复制代码

代码如下:

<ul class="navbar">

<li><a href="/">Home</a></li>

</ul>

CSS代码:

复制代码

代码如下:

.navbar {
display:table;
margin:0
auto;
}
.navbar li {
display:table-cell;
}
.navbar li + li {

padding-left:20px;
}

不支持IE7及一下浏览器,其他的主流浏览器都支持。

display:inline-flex
这个方法需要使用 flex-layout 的知识。

HTML代码:

复制代码

代码如下:

<div class="navbar">
<ul>

<li><a href="/">Home</a></li>

</ul>

</div>

CSS代码:

复制代码

代码如下:

.navbar {
text-align:center;
}

.navbar > ul {
display:-webkit-inline-box;

display:-moz-inline-box;
display:-ms-inline-flexbox;

display:-webkit-inline-flex;
display:inline-flex;
}
.navbar li +
li {
margin-left:20px;
}

使用CSS fit-content

下面看看如何用fit-content创建一个包含子元素浮动的未知宽度的导航。
HTML代码:

复制代码

代码如下:

<div class="navbar center">

<ul>
<li><a href="/">Home</a></li>

<li><a href="/">About us</a></li>

<li><a href="/">Our products</a></li>

<li><a href="/">Customer support</a></li>

<li><a href="/">Contact</a></li>
</ul>

</div>

CSS代码:

复制代码

代码如下:

.center ul{
width: -moz-fit-content;

width: -webkit-fit-content;
width: fit-content;
margin: auto;
}

浏览器支持度较低 只Chrome和Firefox这样的-webkit- -moz-内核浏览器。当然以后慢慢会发展起来的。

这个方式是推动浏览器发展的一个新的东西,目前供应于所以可以写前缀的浏览器,并没有工作在IE9和IE9以下。

根据你的需求来选择合适的方法吧,display:inline-block兼容性较好,flex-box将会用于未来。

时间: 2024-12-28 18:26:19

css自适应宽度 多种方法实现宽度自适应的水平居中(转载)的相关文章

jquery操作select下拉框的多种方法(选中,取值,赋值等) 转载

jQuery获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text 3. var checkValue=$("#se

老生长谈,温故知新:css实现右侧固定宽度,左侧宽度自适应

反过来也可以:左侧宽度固定,右侧自适应.不管是左是右,反正就是一边宽度固定,一边宽度自适应. 这种布局比较常见,博客园很多默认主题就是这种.一般情况下,这种布局中宽度固定的区域是侧边栏,而自适应的区域是主体内容区——相信把侧边栏搞成自适应的人很少吧? 要实现这种布局,也算比较简单.我们先给出html结构: <div id="wrap"> <div id="sidebar" style="height:240px;">固定宽

css实现右侧固定宽度,左侧宽度自适应

反过来也可以:左侧宽度固定,右侧自适应.不管是左是右,反正就是一边宽度固定,一边宽度自适应. 这种布局比较常见,博客园很多默认主题就是这种.一般情况下,这种布局中宽度固定的区域是侧边栏,而自适应的区域是主体内容区--相信把侧边栏搞成自适应的人很少吧? 要实现这种布局,也算比较简单.我们先给出html结构: <div id="wrap">   <div id="sidebar" style="height:240px;">固

css实现的左右两栏宽度自适应中间一栏宽度固定

css实现的左右两栏宽度自适应中间一栏宽度固定:更多的时候可能是设置左右两栏宽度固定,中间一栏宽度自适应,不过本章节恰恰相反,下面介绍一下如何实现中间一栏宽度固定,左右两栏宽度自适应,关于左右两栏固定,左右宽度自适应可以参阅左右两列宽度固定中间一栏宽度自适应代码实例一章节.代码实例: <!DOCTYPE html><html> <head> <meta charset=" utf-8"> <meta name="autho

css布局之左侧宽度固定,右侧宽度自适应

方案一:利用padding-left预留空间,左侧脱标,右侧宽度相当于父元素的100% <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>左侧宽度固定,右侧宽度自适应</title> <style> .container{ padding-left: 300px; width: 100%; he

css判断不同分辨率显示不同宽度布局实现自适应宽度

一.CSS DIV网页布局中当分辨率小于等于1024px(像素)时,DIV布局对象显示1000px宽度,当分辨率大于1024px时候显示1200px宽度等需求.使用CSS实现改变浏览器显示宽度从而实现布局的网页宽度动态改变变化(网页宽度自动随浏览器显示宽度而变宽变窄).随着发展,越来越多的电脑用户显示屏分辨率越来越高,但有的用户还是使用1024px的分辨率的显示屏(根据几个浏览器分辨率统计平台得到数据现在使用1200分辨率以下用户极少,但我们CSS布局时仍然需要至少考虑1024px分辨率用户),

左右两栏宽度自适应,中间一栏宽度固定

左右两栏宽度自适应,中间一栏宽度固定:中间一栏宽度固定,左右两栏宽度自适应效果在众多网页中都有应用,有不错的使用效果,下面就简单介绍一下如何此效果:代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <

html中图片自适应浏览器和屏幕,宽度高度自适应

1.(宽度自适应):在网页代码的头部,加入一行viewport元标签. <meta name="viewport" content="width=device-width,initial-scale=1" /> viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%. 2.(字体自适应):字体

iframe自适应高度的多种方法方法小结

对于自适应高度的代码有很多,可效率什么的考虑进来好代码就不多见了,不过思路倒是差不多的. 不带边框的iframe因为能和网页无缝的结合从而不刷新页面的情况下更新页面的部分数据成为可能,可是 iframe的大小却不像层那样可以“伸缩自如”,所以带来了使用上的麻烦,给iframe设置高度的时候多了也不好,少了更是不行,现在,让我来告诉大 家一种iframe动态调整高度的方法,主要是以下JS函数: 第一种方法:代码简单,兼容性还可以,大家可以先测试下. function SetWinHeight(ob