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

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

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

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

  • 支持部分样式(不支持宽、高、margin上下、padding上下)
  • 宽高由内容决定
  • 盒子并在一行
  • 代码换行,盒子之间会产生间距
  • 子元素是内联元素,父元素可以用text-align属性设置子元素水平对齐方式,用line-height属性值设置垂直对齐方式

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

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

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

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

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

实例
实例菜单的效果:

实例代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> 布局01</title>
<style type="text/css">

.menu{
width:960px;
height:40px;
border:1px solid #000;
margin:50px auto 0;
font-size:0px;
text-align:center;
padding:0px;
line-height:40px;
list-style:none;

}
.menu li{
display:inline-block;
font-size:14px;

}
.menu li a{
text-decoration:none;
font-family: "Microsoft Yahei";
color:#333;

}
.menu li a:hover{
background-color: red;
color:#FFF;
}
.menu .line {
margin: 0px 20px;
}

.pags{
width:960px;
height:40px;
border:1px solid #000;
margin:50px auto 0;
font-size:0px;
text-align:center;
}
.pags a{
display:inline-block;
padding:5px 10px;
background-color:gold;
font-size:12px;
font-family:"Microsoft Yahei";
text-decoration:none;
margin:8px 5px;

}
.pags a:hover{
background-color:red;
color:#FFF;
}
.pags span{
display:inline-block;
font-size:12px;
}

</style>

</head>
<body>

<ul class="menu">
<li><a href="">首页</a></li>
<li class="line">|</li>
<li><a href="">公司简介</a></li>
<li class="line">|</li>
<li><a href="">产品展示</a></li>
<li class="line">|</li>
<li><a href="">案例介绍</a></li>
<li class="line">|</li>
<li><a href="">联系我们</a></li>
</ul>

<div class="pags">
<a href="">上一页</a>
<a href="">1</a>
<a href="">2</a>
<a href="">3</a>
<a href="">4</a>
<span>....</span>
<a href="">17</a>
<a href="">18</a>
<a href="">19</a>
<a href="">20</a>
<a href="">21</a>
</div>

</body>
</html>

HTML中元素分类与对应的CSS样式特点的更多相关文章

  1. 文字在div中水平和垂直居中的的css样式

    文字在div中水平和垂直居中的的css样式 text-align:center; /*水平居中*/ line-height: 20px; /*行距设为与div高度一致*/ 示例如下: HTML元素 & ...

  2. 使文字在div中水平和垂直居中的的css样式为,四个边分别设置阴影样式

    text-align:center; /*水平居中*/ line-height: 20px; /*行距设为与div高度一致*/ HTML元素 <div>水平垂直居中</div> ...

  3. jQuery中添加/改变/移除改变CSS样式例子

    在jquery中对于div样式操作我们会使用到CSS() removeClass() addClass()方法来操作了,下面我们就整理了几个例子大家一起来看看吧.     CSS()方法改变CSS样式 ...

  4. php部分:网页中报表的打印,并用CSS样式控制打印的部分;

    网页中报表的打印,是通过调用window对象中的print()方法实现打印功能的: 调用浏览器本身的打印功能实现打印 <a href="#" onclick="wi ...

  5. django1.8中如何显示图片,应用css样式,javascript事件

    在django中将图片.javascript.css称为静态文件.如何将这些静态文件显示在django中呢?近期做一个项目,一直困扰着我,后来查找各种资源,终于在官方文档中找到. 官方文档链接 在se ...

  6. 学习vue第五节,vue中使用class和style的css样式

    vue中使用class样式 数组 <h1 :class="['red', 'thin']">这是一个H1</h1> 数组中使用三元表达式 <h1 :c ...

  7. vs中正常IIS发布网站后css样式、图片丢失jQuery报错 $ is not defined

    问题描述: VS运行能够正常看到样式和图片 ,IIS发布后样式丢失.图片不显示.并且jQuery报错“$ is not defined”. 问题分析: 1.首先怀疑是样式文件.图片等发布的时候没有发布 ...

  8. 在input中右边加上一个图标的css样式

    https://blog.csdn.net/ffggnfgf/article/details/43384527

  9. jq判断元素class是否定义了CSS样式

    if($("div").attr("class")==null) 如果$("div").attr("class")为空, ...

  10. javascript中元素的scrollLeft和scrollTop属性说明

    再说意义之前,前说一下这两个属性的适用范围: 注意:这两个属性只能用于元素设置了overflow的css样式中.否者这两个属性没有任何意义.且overflow的值不能为visible,但可以为hidd ...

随机推荐

  1. Linux 运维工程师面试真题-4-Linux 服务配置及管理

    Linux 运维工程师面试真题-4-Linux 服务配置及管理** 1.请写出 apache2.X 版本的两种工作模式,以及各自工作原理.如何查看 apache 当前所 支持的模块,并且查看是工作在哪 ...

  2. 工作记录:TypeScript从入门到项目实战(项目篇)

    Vue项目中使用 前面两篇介绍过TypeScript基础和较深入的东西,本章介绍如何在Vue项目中使用. 项目创建 创建项目直接使用Vue-cli创建 下面是步骤: 1.运行vuecli, 2.选择合 ...

  3. hdfs中acl权限管理的简单实用

    1.背景 在我们开发的过程中有这么一种场景, /projectA 目录是 hadoopdeploy用户创建的,他对这个目录有wrx权限,同时这个目录属于supergroup,在这个组中的用户也具有这个 ...

  4. 面试官:只知道v-model是:modelValue和@onUpdate语法糖,那你可以走了

    前言 我们每天都在用v-model,并且大家都知道在vue3中v-model是:modelValue和@update:modelValue的语法糖.那你知道v-model指令是如何变成组件上的mode ...

  5. 【GD32L233C-START】DAC输出(正弦波、锯齿波、方波)

    [GD32L233C-START]DAC输出(正弦波.锯齿波.方波) 1.介绍GD32L233C采用的是一款M23的内核.这个芯片据说功耗非常的低,低到什么程度呢?等后面我们再进行测试,今天我们主要来 ...

  6. .NET Emit 入门教程:第五部分:动态生成方法(MethodBuilder 与 DynamicMethod)

    前言: 当我们涉及到在运行时生成和定义方法时,便需要使用到C#中的两个关键类之一:MethodBuilder 或 DynamicMethod. 这两者都属于反射(Reflection.Emit)的一部 ...

  7. ftp安装与配置 云服务器 CentOS7

    1.FTP的安装 #安装 yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service #启动 systemctl start vsftp ...

  8. ssh连接相关工具下载地址

    1.Finalshell 下载地址: http://www.hostbuf.com/t/988.html 2.xShell https://www.xshell.com/zh/xshell/ 3.pu ...

  9. KingbaseES sys_bulkload数据加载工具错误处理

    一.关于sys_bulkload数据加载工具 sys_bulkload是KingbaseES提供的快速加载数据的命令行工具.用户使用sys_bulkload工具能够把一定格式的文本数据简单.快速的加载 ...

  10. KingbaseES V8R6 集群运维系列 -- 命令行部署repmgr管理集群+switchover测试

    本次部署未使用securecmd/kbha工具,无需普通用户到root用户的互信. 一.环境准备 1.创建OS用户 建立系统数据库安装用户组及用户,在所有的节点执行. root用户登陆服务器,创建用户 ...