一、水平居中设置——行内元素

如果设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置text-align:center来实现的

二、水平居中设置

——定宽块状元素

#当被设置元素为块状元素时,使用text-align:center就不起作用,此时分两种情况:定宽块状元素与不定宽块状元素。

#定宽块状元素:块状元素的宽度width为固定值

#满足定宽和块状两个条件的元素是可以通过设置“左右margin值”为“auto”来实现居中

#块级元素的居中有两个条件,1:必须有宽度,2:左右margin为auto

margin:10px 5px; 表示对象与父容器的上下距离值都是10px,与左右的距离值都是5px。
margin:0 auto; 表示上下的距离值是0,而左右就是自动适应,也就是我们常说的自动居中。
margin:auto; 表示上下左右都自动适应。

未设置前:

设置后

——不定宽块状元素

不定宽块状元素:块状元素的宽度width不固定。

不定宽度的块状元素有三种方法居中:

1、加入table标签

(利用table标签的长度自适应性,即不定义其长度也不默认父元素body的长度,table其长度根据其内文本长度决定,因此可以看做一个定宽块元素,然后再利用定宽度块状居中的margin的方法,使其水平居中。)

2、设置display:line方法:与第一种类似,显示类型设为行内元素,使用text-align:center来实现居中效果。

3、设置position:relative和left:50%:利用相对定位的方式,将元素向左偏移50%,即达到居中的目的。

理解:假想ul层的父层(即下面例子中的div层)中间有条平分线将ul层的父层(div层)平均分为两份,ul层的css代码是将ul层的最左端与ul层的父层(div层)的平分线对齐;而li层的css代码则是将li层的平分线与ul层的最左端(也是div层的平分线)对齐,从而实现li层的居中。

三、垂直居中

两种情况:父元素高度确定的单行文本,父元素高度确定的多行文本。

#父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的height和line-height高度一致来实现。(height:元素的高度,line-height:行高、行间距,指在文本中,行与行之间的基线间的距离)

#父元素高度确定的多行文本

方法一:

使用插入table(包括tbody、tr、td)标签,同时设置竖直居中的属性vertical-align:middle,在父元素设置此样式时,会对inline-block类型的子元素都有用

方法二:

在chrom、firefox、IE8以上的浏览器可以设置块级元素的display:table-tell(设置为表格单元),激活vertical-align属性,本方法兼容性较差

四、隐藏改变display类型

当元素(不论之前是什么类型元素,display:none除外)设置以下两个句子之一:

1、position:absolute

2、float:left或float:right

元素的display显示类型就会自动变为以display:inline-block(块状元素)的方式显示,然后就可以设置元素的width和height,且默认宽度不占满父元素

HTML+CSS基础学习笔记(8)的更多相关文章

  1. HTML&CSS基础学习笔记—创建列表

    创建一张表格 很多时候我们需要在网页上展示一些数据,使用表格可以很好的来展示数据. 在HTML中<table>标签定义 表格. <table> </table> 添 ...

  2. HTML&CSS基础学习笔记1.16-单元格间距和表格主体

    上一篇讲html学习笔记,讲过了合并单元格,那么今天就来介绍下如何控制单元格的间距,以及表格主体的相关知识. 单元格间距 在上个知识点的显示结果中你可能发现了,单元格与单元格之间有一小段空白.这是由& ...

  3. HTML&CSS基础学习笔记1.32-选择器是什么

    选择器是什么 选择器是CSS样式为了定位页面上的任意元素的一种方法. 选择器主要分为:元素标签选择器.通用选择器.类选择器.ID选择器.属性选择器.组合选择器.伪类选择器.伪元素选择器. 先做个了解, ...

  4. HTML&CSS基础学习笔记1.31-像素和相对长度

    像素和相对长度 之前的笔记中,我们提到过用属性width.height来设置图片的尺寸,它们的单元都是”px(像素)”.长度单位总结一下,目前比较常用到px(像素).em.% 百分比,要注意其实这三种 ...

  5. CSS基础学习笔记

    一. CSS介绍 1. CSS概述:CSS(Cascading Style Sheets)指层叠样式表,极大提高了工作效率. 2. 基础语法: 属性大于1个之后,属性之间用分号隔开 如果大于1个单词, ...

  6. HTML&CSS基础学习笔记1.33-元素选择器

    元素选择器 最常见的 CSS 选择器是元素选择器.换句话说,文档的元素就是最基本的选择器: p { text-indent:10px; color:blue; } 什么情况下使用元素选择器,一般我们这 ...

  7. HTML&CSS基础学习笔记1.30-颜色的表达

    颜色的表述 在网页中的颜色设置是非常重要,CSS的属性有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 ...

  8. HTML&CSS基础学习笔记1.29-灵活地使用样式

    灵活的使用样式 使用样式的感觉很棒吧! 刚我们使用的内联样式是给具体的标签加上样式,如果有多个标签的时候,我们用内联样式给标签加样式的时候就需要一个个的加过来,这样就很麻烦. 而如果我们使用内部样式表 ...

  9. HTML&CSS基础学习笔记1.28-给网页添加一个css样式

    CSS是什么? 当HTML配合CSS一起使用时,我们发现页面变得好看了很多.那么CSS到底是什么呢? CSS指层叠样式表 (Cascading Style Sheets),它主要是用于定义HTML标签 ...

  10. HTML&CSS基础学习笔记1.26-input重置表单

    重置表单 <input>的[type]属性值为"button"的时候表示一个普通的按钮,相当于一个<button>标签. <input>的[ty ...

随机推荐

  1. qt 原子操作 QAtomicInt(++和--都不是原子操作:都包含三条机器指令)

    ++和--都不是原子操作:都包含三条机器指令 http://sroply.blog.163.com/blog/static/17092651920106117251539/

  2. Hibernate:1对1关系总结。

    QQ和QQ空间是1对1关系:配置如下 一.主键关联,双方共同维护表关系,以主键关联 public class QQ { private Long id; private QQZone zone; } ...

  3. JavaScript 判断对象是否为空

    /** **判断是否null *@param data */ function isNull(data) {     return (data == "" || data == u ...

  4. WPF WebBroswer可以用到的接口

    http://pinvoke.net/default.aspx/Interfaces.DWebBrowserEvents2 [ComImport, SuppressUnmanagedCodeSecur ...

  5. android 读写SD卡文件

    参考: http://www.oschina.net/code/snippet_176897_7336#11699 写文件: private void SavedToText(Context cont ...

  6. 一个sql导致temp表空间爆掉

    Buffer sort引发的血案 今天遇到的一个问题,在线系统上,有两张表,test1大概50G,test2大概200G,需要查询出来test1表中部分记录,并且这些记录不存在test2表中.于是就写 ...

  7. 利用if else来运行咱们结婚吧

    static void Main(string[] args)        {            while (true)            {                string ...

  8. MVC批量导出数据方法

    近段时间做了个数据平台,其中涉及到批量导出CSV格式数据的业务,主要使用了部分视图和视图之间传值等知识点,今天做了下整理,特此分享下: 主要分为四步: 1:要打印的数据格式陈列View: 2:自定义导 ...

  9. VS2015连接Oracle数据库(转)

    原文地址:https://xuanwo.org/2016/01/03/vs-oracle-11g 开发环境 宿主机:Win10 + VS2015 + ODP.Net for VS2015虚拟机:Win ...

  10. 获取客户端IP地址 via C#

    获取客户端IP地址 via C# 说明:本文中的内容是我综合博客园上的博文和MSDN讨论区的资料,再通过自己的实际测试而得来,属于自己原创的内容说实话很少,写这一篇是为了记录自己在项目中做过的事情,同 ...