`
zhengdl126
  • 浏览: 2539929 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

CSS实现div或ul,li水平对齐不换行

 
阅读更多

 

去掉A标签的:

 

 

增加li标签:

 

 

在网页前端开发中,我们可能会经常用到走马灯特效,于是乎就需要用CSS来实现文字或图 片水平对齐但不换行的效果,用div+table可是很实现这个效果,但是要用div或ul,li来做就难了,大部分人都会想到用 overflow:hidden+固定宽度width来控制div或li浮动元素不会换行,但这样效果很差或根本无效。其实我们只需要用到三个CSS样式 就能搞定它了,它们分别是display:inline-block,overflow:hidden和white-space:nowrap

下面就来分析一下它们的作用:

首先,是overflow:hidden。

overflow:hidden是作用是什么呢?大多数人对这个样式的理解仅仅局限于隐藏溢出,而对于清除浮动这个含义不是很了解。

一提到清除浮动,我们就会想到另外一个CSS样式:clear:both,我相信对于这个属性的理解大家都不成问题的。但是对于“浮动”这个词到底包含什么样的含义呢?我们下面来详细的阐述一下。

<div id="outer">
 <div id="inner"></div>
</div>

这是一个常用的div写法,下面我们来书写样式。大家可以在DW中自己做试验

#outer{ width:500px;  background:#000; height:500px;}

#inner{ float:left; width:600px; height:600px; background:red;}

可以看到,我给inner这个id加了一个浮动,我们常规的理解是,我们允许inner这个id的div的右边出现其他的内容,只要它的宽度不超过outer这个div和inner这个div的剩余值。

如果div outer中还包含其他的div,我不允许它出现在inner的右侧,我们则用样式clear:both指定这个div,不允许它浮动在inner右侧。

这些在ie6里面是正确的。但是在火狐或者其他浏览器里面,我们发现问题并非如此简单。我们发现,当inner这个div的宽度和高度都大于wai这个div的时候,outer并没有被inner撑开而是依旧显示为我们指定的宽高。在我的例子中,都是500。

这个时候我不理解了,我搜索了很多的资料,但是都没能理解这是为什么,直到看到别人在类似的情况下给outer这个div加了一个overflow:hidden这个属性解决了这个问题。

我们直到overflow:hidden这个属性的作用是隐藏溢出,给outer加上这个属性后,我们的inner的宽高自动的被隐藏掉了。另外, 我们再做一个试验,将outer这个div的高度值删除后,我们发现,outer的高度自动的被inner这个div的高度值给撑开了。

说到这里,我们再来理解一下“浮动”这个词的含义。我们原先的理解是,在一个平面上的浮动,但是通过这个试验,我们发现,这不仅仅是一个平面上的浮动,而是一个立体的浮动!

这就是overflow:hidden这个属性清除浮动的准确含义。

其次,是display:inline-block

display:inline-block
简单来说就是将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同 一行内,也就是水平对齐但不会换行,而用display:inline 和display:block都实现不了,但是这个属性目前不是所有的浏览器都支持,只有Opera和Safari支持,FireFox3和IE8都会支 持,Firefox2和IE使用特殊办法可以实现这种效果。

最后,是white-space:nowrap

white-space:nowrap本来的用途是让文本内容不会出现换行,其实它还能用容器(div,ul等)上。在ul上加样式white- space:nowrap,可以让其内部的li对象,水平放置而不会换行,跟display:inline-block的作用应该是相辅相承的

 

 

 

 

 

 

  • 大小: 17.1 KB
  • 大小: 22.4 KB
分享到:
评论

相关推荐

    css+div经典代码大全

    - `.menu ul li a, .menu ul li a:visited` 定义了未被访问过的链接的样式,包括显示方式、文本装饰、宽度、高度、文本对齐、边框、背景颜色、内边距等。 - `.menu ul` 设置无序列表的基本样式,如去除默认的项目...

    CSS.DIV实列

    本篇文章将深入探讨`div`与CSS的结合使用,以及如何通过CSS实现`div`的实际应用。 首先,`div`全称为“division”,意为“分隔区”,是一个通用的块级元素,它可以容纳其他HTML元素,并且可以进行独立的样式设置。...

    纯div+css制作的弹出菜单

    本主题将深入探讨如何使用纯div+css技术来构建一个水平三级的横向弹出菜单,无需JavaScript或其他复杂的编程语言,只需HTML结构和CSS样式即可实现。 首先,让我们了解基本的HTML结构。一个弹出菜单通常由主菜单项...

    在ul中使li水平布局的两种方法

    本篇文章将详细讲解两种常用的方法:使用`float:left`和使用`display:inline`来实现`&lt;li&gt;`元素的水平布局。 ### 方法一:使用`float:left` `float`属性是CSS中的一个关键属性,主要用于创建浮动元素,让元素脱离...

    div+css实现treeview功能

    本教程将详细介绍如何利用div和CSS来实现treeview功能。 首先,我们需要理解`div`元素。`div`是HTML中的一个块级元素,它主要用于组合其他HTML元素,创建内容区域并应用样式。在treeview的实现中,`div`将被用来...

    CSS_DIV超酷菜单导航

    - **`#navlist ul, #navlist li`**: 移除了默认的列表样式,并设置了`display: inline`,使得菜单项水平排列。 - **`#navlist a:link, #navlist a:visited`**: 设置了链接的基本样式,包括浮动、行高、边距、文本...

    css+div导航源码

    HTML部分使用了`&lt;ul&gt;`(无序列表)和`&lt;li&gt;`(列表项)元素来组织导航项,而CSS则用来定义样式。 ### 2. CSS样式规则的应用 在CSS样式表中,可以看到对各个HTML元素进行了详细的样式设置,包括但不限于: - **全局...

    纯css3响应式的水平时间轴布局代码

    本篇文章将深入探讨如何使用纯CSS3实现一个响应式的水平时间轴布局。 首先,我们需要理解时间轴的基本结构。时间轴通常由一条主轴线(时间线)和沿线分布的节点(时间点)组成。在HTML中,我们可以使用`&lt;ul&gt;`和`&lt;li...

    50个div和css样式

    在网页设计领域,`div` 和 `css` 是两个至关重要的元素,它们共同构成了网页布局的基础。`div` 是一个HTML(超文本标记语言)元素,全称为“division”,意为“分组”。它通常被用作容器,用于组织页面上的内容,如...

    HTML+CSS+Div测试习题.pdf

    * 使用 CSS 样式表可以实现网页的背景颜色、字体样式、文本对齐等样式控制。 * 使用 HTML 和 CSS 结合可以实现网页的布局和样式控制。 4. 超链接和图片 * 超链接是一种一对一的关系。 * 使用 `&lt;a&gt;` 标记可以实现...

    实用纯css+div二级图片导航菜单

    在这个二级导航菜单中,我们可能会利用浮动(float)或者定位(position)属性来实现菜单项的排列和对齐。 2. **导航菜单结构**: 通常,二级导航菜单由一级菜单项和在鼠标悬停时展开的二级菜单组成。HTML中,一级...

    css ul li 的使用及浏览器兼容问题

    在CSS布局中,`ul`和`li`元素是最常见的列表结构,用于组织有序或无序的项目。然而,由于不同浏览器之间的解析差异,尤其是在Internet Explorer(IE)和Firefox(FF)之间,处理这些元素时可能会遇到兼容性问题。...

    零基础HTML+CSS+DIV笔记分享

    - 对齐方式包括`align`(水平对齐)和`valign`(垂直对齐)。 3. **表单元素** - 文本框:`&lt;input type="text"&gt;` - 密码框:`&lt;input type="password"&gt;` - 单选按钮:`&lt;input type="radio"&gt;` - 复选框:`...

    html+css二级导航栏的创建

    - 主菜单项通过`.nav ul li`设置宽度、高度、边框等样式,并使其浮动以实现横向排列。 - 二级菜单项通过`:hover`伪类在鼠标悬停时显示。 #### 五、总结 通过以上步骤,您可以成功地使用HTML和CSS创建一个二级...

    div+css制作Tab选项卡.docx

    对于ul,我们将其高度设置为30px,并设置列表项(li)的样式,使其水平排列,居中对齐,且具有适当的宽度和高度: ```css #Tab ul { width: 100%; height: 30px; margin: 0; padding: 0; } #Tab ul li { ...

    div+css 三级导航

    本主题聚焦于利用 `div` 元素和 `css` 样式来实现一个功能完备且易于定制的三级导航菜单。这种导航菜单常用于大型网站,帮助用户轻松浏览和访问深层页面内容。 首先,让我们了解一下 `div` 和 `css` 的基本概念。`...

    div+css制作的弹出菜单

    在网页设计领域,`div` 和 `css` 是构建页面布局和样式的重要工具。`div`(division)是HTML中的一个块级元素,用于组织页面结构,而`CSS`(Cascading Style Sheets)则是样式表语言,用来描述HTML或XML(包括如SVG...

    css yu div\1300个优秀网页赏析\汽车及配件

    3. CSS布局技巧:在汽车及配件的网页设计中,可能需要使用CSS来实现网格系统,展示多辆汽车或配件的排列。通过设置`display: flex`或`grid`属性,可以轻松创建灵活的布局,使内容整齐对齐,同时保持良好的可读性和...

    div+css电子网站模板

    可能使用`ul`和`li`元素来创建书籍列表,每个书籍项可能包含`div`来包裹封面图片、标题、作者等信息,通过CSS实现鼠标悬停效果,增强交互性。 **6. 导航菜单** 导航菜单是用户浏览网站的关键途径。本模板可能会使用...

Global site tag (gtag.js) - Google Analytics