display的设置

标准流
HTML元素在标准状况下的定位方式
行内元素在同一行内横向排列
块级元素占满整个一行,在页面中竖向排列
元素不会移动到其它地方去,对于嵌套的元素盒子也是嵌套的关系

行内元素的盒子
 行内元素的盒子永远只能在浏览器中得到一行高度的空间(行高由line-height属性决定
如果没设置该属性,则是内容默认的高度),如果给它设置上下border,margin,padding等值
导致其盒子的高度超过行高,那么它的盒子上下部分将和其他元素的盒子重叠
 因此,不推荐对行内元素直接设置盒子属性,一般先设置行内元素几块级元素显示,再设置它的盒子属性。

display属性
通过display属性可以控制元素是以行内元素显示还是以块级元素显示,或不显示
display:block|inline|none|list-item(行块切换代码)
inline-block行内块元素(css2.1新增的值)

block元素
block元素的特点是:
总是在新行上开始
高度,行高以及顶和底边距都可控制
宽度缺省是它的容器的100%,除非用width设定一个宽度
<div> <p> <h1> <form> <ul> <li>是块元素的例子

inline元素
inline元素的特点是:
和其它元素都在一行上
高,行高及顶和底边距不可改变
宽度就是它的文字或图片的宽度,不可改变
<span> <a> <label> <input> <img> <strong> 和<em>是inline元素的例子

inline-block行内块元素
inline-block属性值,既是行元素,但又有块元素的属性。
如果想具有行元素一排的属性,也具有块元素可设置宽高的属性,我们可以设置display的属性为inline-block

隐藏元素display:none
当某个元素被设置成了隐藏元素之后,浏览器会完全忽略掉这个元素,该元素将不会被显示
也不会占据文档中的位置。像title元素默认就是此类型
比较visibility:hidden
制作下拉菜单、Tab面板等有时就需要用display:none把菜单或面板隐藏起来。

我们一般使用无序列表来做菜单,经常使用display改变行和块的属性,因为ul li都是块元素

<style>
  .nav ul
 { list-style:none;
   
  
  }
  .nav li{ background-color:
           font-size:20px;
           width:100px;
            height:30px;
            text-align:center;
           display:inline-block;/*此时变为横行,但是能控制宽高*/
     }
   .nav li:hover/*鼠标经过时的效果*/
 {  
     background-color:#b3d4fc;

  }
</style>

<ul class="nav" >
  <li><a href="#">首页</a></li>
  <li><a href="#">新闻</a></li>
  <li><a href="#">娱乐</a></li>
  <li><a href="#">科技</a></li>
  <li><a href="#">财经</a></li>
</ul>
 

例:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>display写菜单</title>
    <style>


       .nav
       {
           list-style: none;/*去除ul的效果*/
       }
        .nav li
        {
          background-color: aquamarine;
            font-size: 20px;
            text-align: center;
            width: 100px;
            height: 30px;
            display: inline-block;
            border: 2px black solid;

        }
        .nav li :hover{ background-color: aliceblue}
        /*
        a:link    {color:blue;}
       a:visited {color:blue;}
       a:hover   {color:red;}
       a:active  {color:yellow;}

        */
    </style>

</head>
<body>

<ul class="nav">

    <li ><a href="#">首页</a></li>
    <li ><a href="#">新闻</a></li>
    <li ><a href="#">娱乐</a></li>
    <li ><a href="#">体育</a></li>
    <li ><a href="#">财经</a></li>

</ul>
</body>
</html>

转载于:https://my.oschina.net/u/2553604/blog/810564

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值