#前端#文字、图像等元素居中方式之

元素组成

  • 父级块:div;
  • 子元素:img,呈现图像;
  • 子元素:p,效果文字;

效果

父级div横向铺满屏幕,子元素img高度设最低最高范围,宽度自动,水平居中

*{
    margin: 0;
    padding:0;
}
.photo-area {
    position: relative;
    margin-top: 60px;
    width: 100%;
    height: auto;
    background-color:rgb(240,240,240);
}
.photo-main {
    height: auto;
    width: auto;
    min-height: 450px;
    max-height: 700px;
    display: block; /*使img成为块级元素从而可以使用样式调整*/
}
.photo-area p {
    position: absolute; /*与父元素 relative 对应使用*/
    width: 100%; /*使 p 元素本身在宽度上占满父元素*/
    text-align: center;
    top:50%; /*p 元素的上边处于父元素内高的居中位置*/
    margin-top: -40px; /*与top:50%配合,将p元素的上边再向上提高自身高度的一半,呈现p元素整体垂直居中的效果*/
    font-size: 60px;
    height: 80px; /*给定高度,与top和margin-top配合使用*/
    line-height: 80px; /*使p元素内的文字垂直居中于p元素*/
}

修改部分代码,使图像横向铺满屏幕,高度自动适应

.photo-main {
    height: auto;
    width: 100%;
    min-height: 450px;
    display: block;
}

此时应注意调用图片的本身尺寸,较大的图片效果更好

应用父级元素布局代码,使子元素自动呈现预想的布局

.container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap-reverse;
}

此种方式,将布局代码放在父级元素,设定之后子元素将按预设方式进行排列,优点是代码精炼简单子元素不用过多控制。适合子元素较少,或者子元素布局较为规范、简单,可查看浅谈CSS3中display属性的Flex布局 查看详情

posted @ 2018-07-31 10:00  试试手气  阅读(276)  评论(0编辑  收藏  举报