• 【CSS】定义元素的对齐方式


    1、文本内容居中对齐:text-align。
    扩展用法:父元素嵌套子元素时,且子元素的宽度小于父元素宽度,使用text-align:center,可以实现子元素的居中对齐。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>文本内容水平居中</title>
     6     <style>
     7         .text-center{
     8             border:3px solid red;
     9             text-align: center;
    10             /*text-align: right;*/
    11         }
    12     </style>
    13 </head>
    14 <body>
    15     <div class="text-center">
    16         水平居中对齐
    17     </div>
    18 </body>
    19 </html>
    View Code

    2、图片居中对齐:先指定width,display:block(前提),再使用margin:auto。(非块级元素使用margin:auto时,不会居中,必须指定display:block,才会居中)

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>图片水平居中对齐</title>
     6     <style>
     7 
     8         /*
     9         margin:auto,对行内元素不起作用,所以需要把图片display:block,变成一个块级元素,同时设置图片的width,
    10         margin:auto才会起作用
    11         */
    12         img{
    13             display: block;
    14             margin: auto;
    15             width: 200px;
    16             height: 200px;
    17         }
    18     </style>
    19 </head>
    20 <body>
    21     <img src="./suihua.png"  alt="">
    22 </body>
    23 </html>
    View Code

    3、元素左对齐、元素右对齐、元素居中对齐

    元素居中对齐:先指定width(前提),再使用margin:auto
    左右对齐解决方式一:position和left:0或right:0
    左右对齐解决方式二:position和float:left或float:right

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>元素水平居中对齐、左对齐、右对齐</title>
     6     <style>
     7 
     8         /* 设置body元素的margin:0,padding:0,从而达到在所有浏览器一样的效果
     9            不设置的情况下,不同的浏览器,body元素的margin和padding默认值不一样
    10         */
    11         body{
    12             margin:0;
    13             padding: 0;
    14         }
    15 
    16         /*
    17             元素水平居中对齐:同时指定width和margin:auto就可以实现
    18             不指定width,margin:auto不会起作用,实现不了水平居中对齐
    19         */
    20         .center{
    21             border:3px solid red;
    22             width: 50%;
    23             margin: auto;
    24         }
    25 
    26 
    27         /*利用postion,加left:0或right:0,从而实现元素的左对齐和右对齐*/
    28         .container1{
    29             position:relative;
    30             border: solid 3px red;
    31 
    32         }
    33         .right1{
    34             background-color: lightblue;
    35             width: 200px;
    36             height: 100px;
    37             position: absolute;
    38             right:0;      /*右对齐*/
    39             /*left:0;   左对齐*/
    40         }
    41 
    42         /*利用float*/
    43         .container2{
    44             position:relative;
    45             border: solid 3px red;
    46             overflow: auto;
    47         }
    48 
    49         .right2{
    50             background-color: lightblue;
    51             width: 200px;
    52             height: 100px;
    53             float: right;
    54         }
    55     </style>
    56 </head>
    57 <body>
    58     <h1>元素水平居中对齐</h1>
    59     <div class="center">
    60         center align
    61     </div>
    62 
    63     <h1>元素水平左右对齐方式一</h1>
    64     <div class="container1">
    65         <div class="right1">
    66             <p>段落的内容</p>
    67         </div>
    68     </div>
    69 
    70     <br/><br/><br/><br/><br/><br/><br/>
    71 
    72     <h1>元素水平左右对齐方式二</h1>
    73     <div class="container2">
    74         <div class="right2">
    75             <p>段落的内容</p>
    76         </div>
    77     </div>
    78 
    79 </body>
    80 </html>
    View Code

    4、垂直居中对齐

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>垂直居中对齐</title>
     6     <style>
     7         /*垂直居中对齐实现方式一:通过padding属性来实现。(当元素指定了height,通过padding来实现垂直居中就不好使了)*/
     8         .center1{
     9             border: 3px solid red;
    10             padding:100px 0;     /*上下100px,左右0*/
    11             text-align: center;
    12         }
    13         /*组合选择器*/
    14         .center1 p{
    15             text-align: center;
    16         }
    17 
    18 
    19         /*
    20         垂直居中对齐实现方式二:line-height等于元素的height,这样已经贴近居中了,还没有完全居中,
    21         还需要结合下方的【.center2 p】组合选择器中的 display:inline-block  和 line-height:1 才能实现全部居中
    22         */
    23         .center2{
    24             border: 3px solid red;
    25             height: 200px;
    26             line-height: 200px;
    27             text-align: center;
    28         }
    29 
    30         .center2 p{
    31             text-align: center;
    32             line-height: 1;
    33             display:inline-block;
    34         }
    35 
    36         /*垂直居中对齐实现方式三:position*/
    37         .center3{
    38             border:3px solid red;
    39             height:200px;
    40             text-align: center;
    41             position: relative;
    42         }
    43 
    44         .center3 p{
    45             text-align: center;
    46             position: absolute;
    47             margin: 0;
    48             top: 50%;
    49             left: 50%;
    50             transform: translate(-50%,-50%);    /*微调x,y轴方向,第一个-50%表示x轴往左移,第二个50%表示y轴往上移*/
    51         }
    52     </style>
    53 </head>
    54 <body>
    55     <h1>vertically align</h1>
    56     <div class="center3">
    57         <p>段落的内容,希望它垂直居中</p>
    58     </div>
    59 </body>
    60 </html>
    View Code
  • 相关阅读:
    浏览器拦截跨域请求处理方法
    如何保护java程序不被反编译
    python面对对象面试题
    面向对象之继承
    面向对象之多态
    面向对象之组合
    面向对象初始
    python之匿名函数
    python之内置函数
    azure连接redis
  • 原文地址:https://www.cnblogs.com/mtszw/p/9196623.html
Copyright © 2020-2023  润新知