zoukankan      html  css  js  c++  java
  • 块元素,内联元素,内联块元素

    元素就是标签,布局中常用的有三种标签,块元素、内联元素、内联块元素,了解这三种元素的特性,才能熟练的进行页面布局。

    一. 块元素 

    块元素,也可以称为行元素,布局中常用的标签如:div、p、ul、li、h1~h6、dl、dt、dd等等都是块元素,它在布局中的行为:

    • 支持全部的样式
    • 如果没有设置宽度,默认的宽度为父级宽度100%
    • 盒子占据一行、即使设置了宽度

     

    二. 内联元素

    内联元素,也可以称为行内元素,布局中常用的标签如:a、span、em、b、strong、i等等都是内联元素,它们在布局中的行为:

    • 支持部分样式(不支持宽、高、margin上下、padding上下),margin是盒子外面的东西,padding是盒子里面的东西
    • 宽高由内容决定
    • 盒子并在一行
    • 代码换行,盒子之间会产生间距
    • 子元素是内联元素,父元素可以用text-align属性设置子元素水平对齐方式,用line-height属性值设置垂直对齐方式
    代码例子1: 子元素是内联元素,父元素可分别用text-align属性,line-height属性来设置子元素水平,垂直对齐方式,
    <head>
        <style type="text/css">
            .con2{
               500px;
               height:300px;
               border:1px solid #333;
               margin:50px auto 0;
               font-size:0  #父级元素大小设置为0
               text-align:center;
               line-height:300px;
        }
    
        .con2 a{
            font-size:20px;
        }
    
        </style>
    </head>
    
    <body>
    <div class="con2">
        <a href="#">标签4</a>
    </div>
    </body>
    

      

    解决内联元素间隙的方法 
    1、去掉内联元素之间的换行
    2、将内联元素的父级设置font-size为0,内联元素自身再设置font-size

     
    #例子2: 去除内联元素间隙的方法
    <style type="text/css">
    .con{
           500px;
           height:300px;
           border:1px solid #333;
           margin:50px auto 0; #上间距50px, 左右自动,下为0,以这种方式设置盒子水平居中
           font-size:0  #父级元素大小设置为0
    }
    .con a{
               font-size:20px;
    }
    
    <body>
      <div class="con">
        <a href="#">标签1</a>
        <a href="#">标签2</a>
        <a href="#">标签3</a>
      </div>
    </body>

      

    三. 内联块元素

    内联块元素,也叫行内块元素,是新增的元素类型,现有元素没有归于此类别的,img和input元素的行为类似这种元素,但是也归类于内联元素,我们可以用display属性将块元素或者内联元素转化成这种元素。它们在布局中表现的行为:

    • 支持全部样式
    • 如果没有设置宽高,宽高由内容决定
    • 盒子并在一行
    • 代码换行,盒子会产生间距
    • 子元素是内联块元素,父元素可以用text-align属性设置子元素水平对齐方式,用line-height属性值设置子元素垂直对齐方式

    这三种元素,可以通过display属性来相互转化,不过实际开发中,块元素用得比较多,所以我们经常把内联元素转化为块元素,少量转化为内联块,而要使用内联元素时,直接使用内联元素,而不用块元素转化了。

    display属性
    display属性是用来设置元素的类型及隐藏的,常用的属性有:
    1、none 元素隐藏且不占位置
    2、block 元素以块元素显示
    3、inline 元素以内联元素显示
    4、inline-block 元素以内联块元素显示

    例子3,将<a>内联元素转为内联块元素
    <head>
    <style type="text/css">
    .con{
           500px;
           height:300px;
           border:1px solid #333;
           margin:50px auto 0;      
    }
    
    .con a{
              background-color:gold;
              #这里设置宽和高,对内联元素没影响
              100px;
              height:50px;
              display:inline-block;  #转换为内联块,此时宽和高会生效
    }
    
    #如果没设置宽高,宽高由内容决定
    .con span{
            display:inline-block;
            background-color:gold;
    }
    
    </style>
    </head>
    
    <body>
      <div class="con">
        <a href="#">标签1</a>
        <a href="#">标签2</a>
        <a href="#">标签3</a>
        <span>span标签</span>
      </div>
    </body>
    

      

    四. 使用内联块元素制作如下菜单

    <head>
       <style type="text/css">
            .menu{
                       694px;
                       height:50px;
                       margin:50px auto 0;
                       list-style:none; #去掉列表前面的点
                       padding:0;
                       font-size:0  #去掉盒子间的空隙,操作1
              }
    
            #将<li>元素内容排列成一行
            .menu li{
                         display:inline-block;
                         98px; #边框为1px
                         height:48px;
                         border:1px solid gold;
                         font-size:16px #去掉盒子间的空隙,操作2
                         margin-right:-1px;  #解决盒子边框重合为2px的问题
                         text-align:center; #菜单文字水平居中
                         line-height:48px  #菜单垂直居中                 
            }
    
            #鼠标经过菜单文字时,更改菜单选项背景色
            .menu li:hover{
                          background-color:orange;
             }
    
            .menu a{
                          font-family:'Microsoft Yahei';
                          color:pink;
                          text-decoration:none; #去除下划线
            }
    
           #鼠标放到菜单字体上,文字变色效果
            . menu a:hover{
                             color:red;
            }
    
    </style>
    
                        
    <body>
        <ul class="menu">
            <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>
            <li><a href="">招贤纳才</a></li>
            <li><a href="">联系我们</a></li>
        </ul>
    </body>
    

      

  • 相关阅读:
    phpcms后台进入地址(包含No permission resources错误)
    phpmyadmin上传大sql文件办法
    ubuntu彻底卸载mysql
    Hdoj 2602.Bone Collector 题解
    一篇看懂词向量
    Hdoj 1905.Pseudoprime numbers 题解
    The Python Challenge 谜题全解(持续更新)
    Hdoj 2289.Cup 题解
    Hdoj 2899.Strange fuction 题解
    Hdoj 2199.Can you solve this equation? 题解
  • 原文地址:https://www.cnblogs.com/regit/p/8916336.html
Copyright © 2011-2022 走看看