最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

HTML元素居中定位与尺寸拉伸_html/css

来源:懂视网 责编:小采 时间:2020-11-27 16:36:52
文档

HTML元素居中定位与尺寸拉伸_html/css

HTML元素居中定位与尺寸拉伸_html/css_WEB-ITnose:块级元素就是那些自为一行的元素,有高度宽度。行内元素没有高度,行内块级元素有高度,不换行。 好了,下面用几个刚刚试验的例子把这部分知识小记一下,为日后深入学习打基础。 1.水平居中 非块级元素水平居中: 设置父元素的text-align:center
推荐度:
导读HTML元素居中定位与尺寸拉伸_html/css_WEB-ITnose:块级元素就是那些自为一行的元素,有高度宽度。行内元素没有高度,行内块级元素有高度,不换行。 好了,下面用几个刚刚试验的例子把这部分知识小记一下,为日后深入学习打基础。 1.水平居中 非块级元素水平居中: 设置父元素的text-align:center

块级元素就是那些自为一行的元素,有高度宽度。行内元素没有高度,行内块级元素有高度,不换行。

好了,下面用几个刚刚试验的例子把这部分知识小记一下,为日后深入学习打基础。

1.水平居中

  • 非块级元素水平居中:
  • 设置父元素的text-align:center就可以了。

  • 块级元素水平居中:
  • position不是absolute也不是fixed时(也就是并未脱离文档流),margin-left=margin-right=auto,块级元素width不是aoto,就可实现水平居中。

     1 2  3  4  5 18 19 20 header21 22 container23 24 25 

    2.垂直居中

  • 文本垂直居中
  • 如果只有 一行本文,设置容器的line-height等于容器height。

     #container{ border: 1px solid blue; margin:0 auto; width: 300px; height: 300px; text-align: center; line-height: 300px; } 

    如果是 多行文本至少要再加一个容器box把文本包起来,可以设置box的margin或者其父容器的margin。另一个方法就是使用vertical-align属性,但这个属性只对表格元素有效,所以需要设置box父元素display:table,设置box的display:table-cell。

  • 块级元素垂直居中
  • 要借助position和left、top几个属性。top表示向下平移,其他同理。position属性有四个值:

    static: 静态定位,默认值,在文档流中不移动,此时top等属性无效。

    relative:相对定位,相对自己原本位置定位,不脱离文档流。

    absolute:绝对定位,相对非static父元素定位,脱离文档流(原来位置被别人占了)。

    fixed:固定定位,相对浏览器窗口定位,也脱离文档流,总用做购物车广告等。

    如果要垂直居中的元素设置成绝对定位,top和left在按容器和居中元素大小设置一下就可以了, 但前提是父元素是非static的。就像下面这样。

          header content 

    换几种情况考虑,如果居中元素是相对定位的,就不要求父元素是非static的了。这固然好,但限制是不方便计算偏移量,偏移量是相对自己原位置算的,如果居中元素上方有兄弟节点也需要考虑进去,麻烦的是如果兄弟节点大小不固定,恐怕只能用脚本动态去算了。如果居中元素是固定定位的呢?考虑了一下,使用固定定位做垂直居中没有什么特殊的优势。

    3.拉伸

    对于行内元素、行内块级元素、浮动元素、表格及绝对定位元的素:

  • left=right=auto,width=auto时是 横向收缩的
  • top=bottom=auto,height=auto时,是 纵向收缩的
  • 对于块级元素和绝对定位的元素:

  • left=right!=auto,width=auto时是 横向拉伸的
  •        我是横向拉伸的div1 

    auto通常是默认值,我们看到的非块级元素横向纵向多数是收缩的,如图中label。而块级元素div默认是横向拉伸纵向收缩的,如图中div1。浏览器通常会给元素加默认样式,所以元素并没有完全与浏览器窗口贴上,如果添加*{margin:0;padding:0;}就显示正常了。

    对于绝对定位元素:

  • top=bottom=!auto,height=auto时,是 纵向拉伸的。
  •       我是纵向拉伸的div2 

    auto与100%的尺寸差别

    auto意味着元素尺寸是自动调整的,width/height:100%会将元素尺寸拉伸到父元素大小,其外边距、边框等可能超过父元素。但table不会出现这种情况,因为表格的width/height规定的是table-cell的外部尺寸。

    W3C的盒子模型中width/height规定的是content的尺寸,IE的盒子模型width/height规定的是含border的尺寸。

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    HTML元素居中定位与尺寸拉伸_html/css

    HTML元素居中定位与尺寸拉伸_html/css_WEB-ITnose:块级元素就是那些自为一行的元素,有高度宽度。行内元素没有高度,行内块级元素有高度,不换行。 好了,下面用几个刚刚试验的例子把这部分知识小记一下,为日后深入学习打基础。 1.水平居中 非块级元素水平居中: 设置父元素的text-align:center
    推荐度:
    标签: 居中 元素 拉伸
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top