本文主要包含水平垂直,居中等相关知识,佚名 希望在学习及工作中可以帮助到您
http://www.jb51.net/w3school/htmldom/prop_style_verticalalign.htm(W3C标准,概念不清的看手册很重要哦)
--------------------------------------------------------------------------------
首先,依旧是概念。介绍一下行内元素和块级元素,这个很重要,因为有的属性只能用于块元素,而有的正好相反,在一定的情况下,它们也可以相互转换,比如用display来进行设置。
行内元素(又叫内联元素inline element):
①不占据一整行,随内容而定,有以下特点:
②不可以设置宽高,也不可以设置行高,其宽度随着内容增加,高度随字体大小而改变。
③内联元素可以设置外边界,但是外边界不对上下起作用,只能对左右起作用。
④也可以设置内边界,但是内边界在ie6中不对上下起作用,只能对左右起作用。
常用的内联元素有:
a - 锚点,b - 粗体(不推荐),br - 换行,em - 强调,font - 字体设定(不推荐),i - 斜体,img - 图片,input - 输入框,label - 表格标签,select - 项目选择,small - 小字体文本,span - 常用内联容器,定义文本内区块,strike - 中划线,strong - 粗体强调
块级元素block element:
①总是在新行上开始,占据一整行;
②高度,行高以及外边距和内边距都可控制;
③宽带始终是与浏览器宽度一样,与内容无关;
④它可以容纳内联元素和其他块元素。
常用的块级元素有:
div -最常用的块级元素,dl - 和dt dd搭配使用的块级元素,form - 交互表单,h1 - 大标题,hr - 水平分隔线,ol - 排序表单,p - 段落,ul - 非排序列表
互相转换:使用display设置可以使得行内元素拥有块级元素的特性,反之也可以。
如:
<p style="display:inline; text-align:center">我是被设置了内联的块元素p,我现在的表现形式和内联元素一样啦</p>
<span style="display:block; text-align:center">我是被设置了块级元素的span,我现在可以独占一行并且可以设置宽高</span>
display: table-cell ,能把元素当作表格单元来显示,这个非常实用,显示效果也很好,只可惜某些浏览器不够兼容。要注意,和一个合法的<td>元素必须在<table>里一样,
display: table-cell 元素必须作为 display: table 的元素的子元素出现。
--------------------------------------------------------------------------------
现在开始说一下简单的几种基础的居中方式:
1.块中文字水平居中:text-align 用于块级元素,作用在使用它的块元素中的文字或者图片上。使得它们在水平方向上居中。
这个属性只能作用于块元素(或者被CSS控制为块元素的内联元素,但是被控制为内联元素的块元素是不行的)。一句话来说,就是要拥有块元素的特点的那些元素。这个很好理解,居中,肯定是行居中,如果使用它的元素本身不拥有完整的在宽度上的独立空间,它当然没有能力让它内部的文字或者图片居中。(难道要占用别人的地盘里居中,岂不混乱啦)
例子:
<p style="text-align:center">我是正常p,我设置了居中</p>
<span style="display:block; text-align:center">我其实是一个行内元素span哦,我设置了居中,可以居中并且独占一行</span>
<p style="display:inline; text-align:center">能不能再同一行,我是被inline了的p,我设置了居中可是不能居中!</p>
父元素的这个属性对它下面的子元素也起作用,比如一个div设置了text-align居中,则它内部的文字可以居中,它的子div内部的文字也可以居中。但是子元素中文字的居中,是在子div中居中,而不是对于父div居中。也就是,它里面所有的文字,都会相对于最靠近自己的一层div来实现居中。所以,这个属性不能用于div在父div中的整体居中。(不仅仅是div,所有的表现为块元素的元素)。
下面的这段代码,外面一个大的蓝色的div,里面一个小的红色的div。外部的div设置了水平居中,按说里面的图片肯定会居中(运行时确实显示居中),
而内部的div只设置了vertical-align,垂直居中(先不管它)。可是因为它父层的text-align对它也有影响,所以运行时,里面的文字会相对于内部div而居中(注意!不是相对于最外面的div)
--------------------------------------------------------------------------------
首先,依旧是概念。介绍一下行内元素和块级元素,这个很重要,因为有的属性只能用于块元素,而有的正好相反,在一定的情况下,它们也可以相互转换,比如用display来进行设置。
行内元素(又叫内联元素inline element):
①不占据一整行,随内容而定,有以下特点:
②不可以设置宽高,也不可以设置行高,其宽度随着内容增加,高度随字体大小而改变。
③内联元素可以设置外边界,但是外边界不对上下起作用,只能对左右起作用。
④也可以设置内边界,但是内边界在ie6中不对上下起作用,只能对左右起作用。
常用的内联元素有:
a - 锚点,b - 粗体(不推荐),br - 换行,em - 强调,font - 字体设定(不推荐),i - 斜体,img - 图片,input - 输入框,label - 表格标签,select - 项目选择,small - 小字体文本,span - 常用内联容器,定义文本内区块,strike - 中划线,strong - 粗体强调
块级元素block element:
①总是在新行上开始,占据一整行;
②高度,行高以及外边距和内边距都可控制;
③宽带始终是与浏览器宽度一样,与内容无关;
④它可以容纳内联元素和其他块元素。
常用的块级元素有:
div -最常用的块级元素,dl - 和dt dd搭配使用的块级元素,form - 交互表单,h1 - 大标题,hr - 水平分隔线,ol - 排序表单,p - 段落,ul - 非排序列表
互相转换:使用display设置可以使得行内元素拥有块级元素的特性,反之也可以。
如:
<p style="display:inline; text-align:center">我是被设置了内联的块元素p,我现在的表现形式和内联元素一样啦</p>
<span style="display:block; text-align:center">我是被设置了块级元素的span,我现在可以独占一行并且可以设置宽高</span>
display: table-cell ,能把元素当作表格单元来显示,这个非常实用,显示效果也很好,只可惜某些浏览器不够兼容。要注意,和一个合法的<td>元素必须在<table>里一样,
display: table-cell 元素必须作为 display: table 的元素的子元素出现。
--------------------------------------------------------------------------------
现在开始说一下简单的几种基础的居中方式:
1.块中文字水平居中:text-align 用于块级元素,作用在使用它的块元素中的文字或者图片上。使得它们在水平方向上居中。
这个属性只能作用于块元素(或者被CSS控制为块元素的内联元素,但是被控制为内联元素的块元素是不行的)。一句话来说,就是要拥有块元素的特点的那些元素。这个很好理解,居中,肯定是行居中,如果使用它的元素本身不拥有完整的在宽度上的独立空间,它当然没有能力让它内部的文字或者图片居中。(难道要占用别人的地盘里居中,岂不混乱啦)
例子:
<p style="text-align:center">我是正常p,我设置了居中</p>
<span style="display:block; text-align:center">我其实是一个行内元素span哦,我设置了居中,可以居中并且独占一行</span>
<p style="display:inline; text-align:center">能不能再同一行,我是被inline了的p,我设置了居中可是不能居中!</p>
父元素的这个属性对它下面的子元素也起作用,比如一个div设置了text-align居中,则它内部的文字可以居中,它的子div内部的文字也可以居中。但是子元素中文字的居中,是在子div中居中,而不是对于父div居中。也就是,它里面所有的文字,都会相对于最靠近自己的一层div来实现居中。所以,这个属性不能用于div在父div中的整体居中。(不仅仅是div,所有的表现为块元素的元素)。
下面的这段代码,外面一个大的蓝色的div,里面一个小的红色的div。外部的div设置了水平居中,按说里面的图片肯定会居中(运行时确实显示居中),
而内部的div只设置了vertical-align,垂直居中(先不管它)。可是因为它父层的text-align对它也有影响,所以运行时,里面的文字会相对于内部div而居中(注意!不是相对于最外面的div)