HTML:块元素位置居中

块元素位置居中有两种存在:

  • 一种是有两个块元素,其中一个块元素相对另外一个块元素居中;
  • 另外一种是一个块元素相对于顶级父容器居中

第一种实现方式如下:

<html>

<head>
    <meta charset="utf-8" />
    <title>测试</title>

    <style type="text/css">
        .aa {
            width: 500px;
            height: 500px;
            background-color: #00FFFF;
            /*设置当前块元素生成绝对定位的元素,相对于浏览器窗口进行定位。*/
            position: fixed;
            top: 50%;
            left: 50%;
            /*将块元素定位好位置后减去自身的长和宽*/
            margin-left: -250px;
            margin-top: -250px;
        }
    </style>

</head>

<body>

    <div class="aa"></div>

</body>

</html>

效果图:

第二种实现方法如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <title>表单标签</title>

    <style type="text/css">
        .aa {
            width: 100px;
            height: 100px;
            position: relative;
            background-color: antiquewhite;
        }

        .bb {
            width: 50px;
            height: 50px;
            background-color: #00FFFF;
            position: absolute;
            top: 50%;
            left: 50%;
            margin-top: -25px;
            margin-left: -25px;
        }
    </style>
</head>

<body>

    <div class="aa">

        <div class="bb"></div>

    </div>

</body>

</html>

实现效果:

在这里顺便记录一下上面个代码用到的一个属性position以及这个属性的值的各种含义

定义:

osition 属性规定元素的定位类型。

说明

这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。

描述
absolute
生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed
生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative
生成相对定位的元素,相对于其正常位置进行定位。

因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit 规定应该从父元素继承 position 属性的值。

原文地址:https://www.cnblogs.com/lyd447113735/p/9767088.html

时间: 2024-10-03 19:45:30

HTML:块元素位置居中的相关文章

css 行元素和块元素 相互转换 居中

一.块级元素  行内元素 div.h1 或 p 元素常常被称为块级元素.这意味着这些元素显示为一块内容,即“块框”.与之相反,span 和 strong 等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”. 您可以使用 display 属性改变生成的框的类型.这意味着,通过将 display 属性设置为 block,可以让行内元素(比如 <a> 元素)表现得像块级元素一样.还可以通过把 display 设置为 none,让生成的元素根本没有框.这样的话,该框及其所有内容就不再显

子块元素在父块元素中居中

水平居中有两种情况: 子元素,父级元素都是块级元素的时候,子级元素{margin:0 auto}.需要注意的是当子级元素的position为非默认及relative时,这种设置会失效. 如p等标签中内的文字内容水平居中:使用{text-Align:center}.垂直居中设置该元素的行高等于元素的高.如:{height:100px;line-height:100px}可实现.注意:这种方法应用于行内元素

CSS行内元素和块级元素的居中

一.水平居中 行内元素和块级元素不同,对于行内元素,只需在父元素中设置text-align=center即可; 对于块级元素有以下几种居中方式: 1.将元素放置在table中,再将table的margin-left和margin-right设置成auto,将table居中,使在其之中的块级元素叶居中,但是这种方式不符合语义化标签的规范; 2.将块级元素转换行内元素(通过设置display:inline)后再居中.这种方式使居中元素变成行内元素而致使无法设置宽高; 3.设置父元素float:lef

巧用CSS居中未知高度的块元素

在网页中让一个未知高度的块元素水平垂直居中是一个老生常谈的问题,但是总是有些特殊场景让你无法得心应手的实现居中,本文介绍几种常用的经典的居中方法,总有一种适合你! 1. position .parent { width: 200px; height: 200px; margin: auto; border: 1px solid red; position: relative; } .child { position: absolute; width: 100px; height: 50%; to

块元素居中

1 使用 margin 属性来水平对齐 可通过将左和右外边距设置为 "auto",来对齐块元素 .center { margin-left:auto; margin-right:auto; width:70%; background-color:#b0e0e6; } 2 利用定位及负边距 <!DOCTYPE html> <html> <head> <meta charset="uif-8"> <style>

css绝对定位元素实现居中的几个方法

一:CSS绝对定位元素left设为50%实现水平居中 绝对定位的元素left设为50%时,是已左上角为原点的,所以只要再使用margin属性添加负值补偿回来即可.示例:[css]代码如下: #board{ width:60%; padding:3%; background:#09F; position:absolute; top:0px; left:50%; margin-left:-30%; } 这样就能使得一个蓝色区域水平居中   二.绝对定位元素的完全居中实现 如果要问如何CSS实现绝对定

div和css:行内元素和块元素的水平和垂直居中

行内元素: 水平居中:text-align:center ul水平居中:加 display:table; margin:0 auto; 此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符. 垂直居中:line-height:父元素的height 块元素: 水平居中: ①margin:0 auto 例: .father{ width:200px; height:200px; background-color:red; } .son{ width:100px; height:1

Web学习笔记_03_块元素的浮动、摆放

1.设置浮动属性 通过设置块的float属性可以实现浮动.如float:right,则该块会脱离一般布局,在右侧浮动显示.此时,其他块会忽略该块的占位,按照一般布局排布.所以会出现浮动块元素和其他元素重叠的情况. 清除浮动:为了消除某个块会被其他浮动的块盖住,设置clear属性,如clear:right,则该块的右侧不允许出现浮动,当有其他块浮动到右侧的时候,会置于浮动块的下方排布.clear:both,则块的两侧都不允许出现浮动. 利用浮动属性可以实现两栏布局: .superblock{? ?

使块元素并排显示和清除浮动的方法

使多个块元素并排显示: ①inline-block:内敛块,不占一行,但可以设置宽高属性,将块元素的display设置为inline-block,可以让多个div块横向显示.但是该用法下多个块之间会出现空格,是由于相邻两个</div>与<div>之间的换行符引起的,空格的清除办法: ①去掉换行符(不推荐):页面不美观 ②注释(不推荐):将换行部分注释掉 ③将上一行的>移到下一行(不推荐):页面不美观 ④将要并排显示的div添加父元素,并且给父元素div添加属性:font-si