【从0到1学Web前端】CSS定位问题二(float和display的使用)

display 属性规定元素应该生成的框的类型。

这个属性用于定义建立布局时元素生成的显示框类型。对于 HTML 等文档类型,如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构。对于 XML,由于 XML 没有内置的这种层次结构,所有 display 是绝对必要的。

浏览器支持:

所有主流浏览器都支持 display 属性。

注释:任何版本的 Internet Explorer (包括 IE8)都不支持 "inherit""inline-table""run-in""table""table-caption""table-cell""table-column""table-column-group""table-row"、以及 "table-row-group"属性值。

因为对块级元素设置display:inline-block的时候可以达到与float相同的效果。就是使块级元素末尾没有换行符。那么到底什么时候使用float和什么时候使用display:inline-block呢?

大多数时候float的出现是为了处理文字环绕。所以当我们为了实现文字环绕的时候使用float而处理非文字环绕的情况下,则以使用display:inline-block为主。

1.1float实现的导航条

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>floatNav</title>
    <style type="text/css">
    body, ul{margin:0;padding:0;}
        #body-div{
            background-color:#eaebea;
            height:40px;
            /*设置当浏览器窗口变短时li换行显示*/
            overflow:hidden;
            /*这里主要是让父级div跟据内容自动伸长*/
            float:left;
        }
        ul li {
            list-style:none;
            float:left;
            border-right:1px solid #d2d5d2;
            line-height:40px;
            padding: 0 10px;
        }
        ul li a{
            text-decoration:none;
        }
        a:link, a:visited{color:#3f3b3c;}
        a:hover{color:#fd687f;}
    </style>
</head>
<body>
    <div id="body-div">
        <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><a href="">内容6</a></li>
            <li><a href="">内容6</a></li>
        </ul>
    </div>
</body>
</html>

在chrome和firefox还有IE中,显示效果如下:

1.2display:inline-block实现的导航条

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>inlineNav</title>
    <style type="text/css">
    body, ul{margin:0;padding:0;}
        #body-div{
            background-color:#eaebea;
            height:40px;
            /*这里主要是让父级div跟据内容自动伸长*/
            display:inline-block;
            /*设置当浏览器窗口变短时li换行显示*/
            overflow:hidden;
            margin:0 auto;
        }
        ul li {
            list-style:none;
            display:inline-block;
            border-right:1px solid #d2d5d2;
            line-height:40px;
            padding:0 10px;
        }
        ul li a{
            text-decoration:none;
        }
        a:link, a:visited{color:#3f3b3c;}
        a:hover{color:#fd687f;}
    </style>
</head>
<body>
    <div id="body-div">
        <ul>
            <li><a href="http://www.baidu.com" target="_blank">首页</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><a href="">内容6</a></li>
            <li><a href="">内容7</a></li>
        </ul>
    </div>
</body>
</html>

这段代码在chrome和firefox,IE(>=8)中的效果如下:

在IE(<=7)的效果如下:

因为IE(<=7)不支持display属性(开头关于display的解释)。

时间: 2024-08-05 07:15:09

【从0到1学Web前端】CSS定位问题二(float和display的使用)的相关文章

零基础学WEB前端-CSS

CSS指层叠样式表(Cascading Style Sheets),CSS 是标准的布局语言,用来控制元素的尺寸.颜色.排版.CSS 由 W3C 发明,用来取代基于表格的布局.框架以及其他非标准的表现方法.样式 (style) 定义如何显示 HTML 元素:样式通常存储于样式表中:外部样式表存储于 CSS 文件中. CSS可以解决html代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的显示效果功能.简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能. 1.CSS基础

【从0到1学Web前端】CSS定位问题三(相对定位,绝对定位)

引子: 开始的时候我想先要解决一个问题,怎么设置一个div盒子撑满整个屏幕? 看下面的html代码: <body> <div id="father-body"> <div class="item1"></div> </div> </body> 实现方法一: html, body,#father-body{ height:100%; width:100%; background-color:#12

【从0到1学Web前端】CSS伪类和伪元素

1.CSS中的伪类 CSS 伪类用于向某些选择器添加特殊的效果. 语法: selector : pseudo-class {property: value} CSS 类也可与伪类搭配使用 selector.class : pseudo-class {property: value} 如下面的一段代码: a.red : visited {color: #FF0000} <a class="red" href="css_syntax.asp">CSS Syn

【从0到1学Web前端】javascript中的ajax对象(一)

现在最流行的获取后端的(浏览器从服务器)数据的方式就是通过Ajax了吧.今天就来详细的来学习下这个知识吧.如果使用ajax来访问后段的数据,浏览器和浏览器端的js做了那些工作呢?我做了一个图,请大家看一下: 1.原生js的Ajax请求的方式 由上面的图我们大致的知道了ajax访问后端数据的一个过程.最重要的就是检测浏览器,创建XMLHttpRequest对象的过程: 代码如下: /* 判断是否支持XMLHttpRequest */ function createXHR() { if (typeo

女孩子适合学web前端还是Java编程?

近几年随着互联网的快速发展,对于Web前端开发的人才需求越来越大,就业薪资也不断的上升,随着行业的火爆,高薪回报吸引了很多有志青年投身互联网行业.女孩子适合学Web前端还是Java? 纵观现阶段互联网Web前端开发工程师的就业人员,女孩子从事这个行业的比例不大,由于这种现象的存在,当有女孩说想要学Web前端开发,很多不一样的声音就出来了,说女生不适合做程序员,其实不然,没有什么东西是你天生做不了的,干不了,只能说明你还不够努力. 虽然少,不是照样有女孩子在做么?而且由于男女比例不协调,所以女生做

新手学web前端应该学什么?

随着互联网的发展速度迅猛,web前端工程师越来越火热,想学习Web前端开发吗 ? 若想成为web前端工程师需要掌握哪些知识?今天小编总结了成为web前端工程师需要掌握的所有知识. 一.基础 1.H5标签 1.1.H5引进的一些新的标签,需要注意article.header.footer.aside.nav以及HTML的标题结构 1.2.理解浏览器解析HTML的过程,理解DOM的树形结构,及相应API 1.3.理解HTML标签在各个浏览器上的默认样式(代理样式),理解CSS中的重置样式表的概念 1

学web前端开发,哪个机构好呢

学习web前端开发已然成为一种潮流,甚至有很多做后台的转行来学.学习web开发,选择一家好的web前端开发机构至关重要.但是,现在各类的web前端开发机构如雨后春笋般迅速崛起,这也增加了我们的选择难度.那么,学web前端开发,哪个机构好呢?我们可以从以下几点进行考察: 第一点,课程是否不断更新,是否符合企业需求 随着时代的发展,各类的IT技术也在不断的更新,当然了web前端开发技术也不例外,作为一名web前端工程师,只有不断的学习新知识才能赶上时代的发展步伐. 所以,这就需要各类的web前端培训

女生学Web前端优势往往很明显

学Web前端的女生不算少数,女生学习的成果也往往不比男生差,前端偏向设计.交互和产品方向,需要更加贴合用户,女生心思细腻,对页面细节把控更好,更具美感,对用户心理把握更准,这样的优势往往是男生所不具备的,女生学Web前端其实一定问题也没有. [关于工作] 1.负责前端架构设计: 2.对Web项目的前端实现方案提供专业指导及监督: 3.对新人及相关开发人员进行前端技能培训: 4.设计并实施前端优化策略: 5.负责前端前沿技术的研究. [关于日常] 1.既有对于新奇技术的不断尝试,也有基础知识的不断

web前端测试(二)

web前端测试(二)   HTML 语言中,设置表格中文字与边框距离的标签是() * [单选题] * A.<table boder=””> B.<table cellspacing=””> C.<table cellpadding=””>(正确答案) D.<table width=””> 以下说法,错误的是() * [单选题] * A.mark用于显示变粗的文字(正确答案) B.<del>用于显示删除的文本 C.<ins>的文字会带下