图文布局列表 文字垂直居中

以往我们是这样的

 1. 方法一

一个div然后imgspan,如果给div 一个高度,那么spandiv 盒子中居中很好办,设置spanline-height属性

 2. 方法二

或者直接绝对定位,原理一样,还得设置divwidth:40px;height:60px;position:relative,然后设置span样式position:absolute;top:50%;left:50%;margin-left:-20;margin-top:-30

3. 方法三

现在div是图片撑开的,响应的,不能设置高度,那么要让这个span居中的话就设置display: block; margin-top: 30%;

update 2015年12月29日15:41:36
响应式垂直左右居中:

.inner{
    position : absolute;
    top: 50%;
    left:50%;
    transform: translate(-50%, -50%);
}

效果图:
效果图
上我的产品页样式:

css控制先隐藏这遮罩层,hover的时候再显示;用sass简单写的嵌套,结构看的更清楚些

/*
** product-list page start
*/

#product-page{
    ul#leaplist {
      li{
          margin-bottom:10px;
        position:relative;
            .product-list{
                position:relative;
                a{
                    position:absolute;
                    width:100%;
                    height:100%;
                    background-color:rgba(0,0,0,.5);
                    text-align:center;
                    top:0;
                    left:0;

                    display:none;
                    &:hover{
                        font-size: 18px;
                        color:#fff;
                        text-decoration: inherit;
                    }
                    span{
                          display: block;
                          margin-top: 30%;
                    }
                }

                &:hover a {
                    display:block;
                }
            }        

      }  
    }
}

2015年6月27日16:22:08

推荐阅读 css实现的五种垂直居中的方法

我个人推荐该文章中的方法二和四,特别好用,方法五设置line-height和height一致居中一般都是单行文本,标题这种的。方法三适用于整体布局页面层级的居中


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是html语言div图片垂直居中和图片水平垂直居中的五种方法: 1. 使用Flex布局 可以通过将图片所在的父元素设置为Flex布局,然后使用align-items和justify-content属性来使图片垂直居中和水平居中。 ```html <div class="container"> <img src="image.jpg" alt="image"> </div> <style> .container { display: flex; align-items: center; justify-content: center; height: 100vh; } img { max-width: 100%; max-height: 100%; } </style> ``` 2. 使用绝对定位和负margin值 可以通过设置图片所在的父元素相对定位,然后使用绝对定位和负margin值来使图片垂直居中和水平居中。 ```html <div class="container"> <img src="image.jpg" alt="image"> </div> <style> .container { position: relative; height: 100vh; } img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 100%; max-height: 100%; } </style> ``` 3. 使用表格布局 可以将图片所在的父元素设置为表格布局,然后使用vertical-align和text-align属性来使图片垂直居中和水平居中。 ```html <div class="container"> <table> <tr> <td> <img src="image.jpg" alt="image"> </td> </tr> </table> </div> <style> .container { height: 100vh; display: table; width: 100%; } table { height: 100%; width: 100%; } td { text-align: center; vertical-align: middle; } img { max-width: 100%; max-height: 100%; } </style> ``` 4. 使用line-height属性 可以将图片所在的父元素设置为单行高度,然后使用line-height属性来使图片垂直居中。 ```html <div class="container"> <span></span> <img src="image.jpg" alt="image"> </div> <style> .container { height: 100vh; text-align: center; font-size: 0; } span { display: inline-block; vertical-align: middle; height: 100%; width: 0; line-height: 0; } img { max-width: 100%; max-height: 100%; vertical-align: middle; display: inline-block; } </style> ``` 5. 使用CSS3的transform属性 可以使用CSS3的transform属性来使图片水平垂直居中。 ```html <div class="container"> <img src="image.jpg" alt="image"> </div> <style> .container { height: 100vh; text-align: center; } img { max-width: 100%; max-height: 100%; position: relative; top: 50%; left: 50%; transform: translate(-50%, -50%); } </style> ``` 以上就是div图片垂直居中和图片水平垂直居中的五种方法,希望能对你有所帮助。 ### 回答2: 在HTML中,想要将div中的图片垂直居中可以使用以下方法: 方法一:使用flex布局 在div的样式中,添加display:flex;和 align-items:center;属性,这样可以使图片在垂直方向上居中。 方法二:使用table-cell属性 将div设置为display: table-cell;和vertical-align:middle;,这样可以使图片在垂直方向上居中。 方法三:使用绝对定位 将div设置为相对定位的父元素,然后通过将图片设置为绝对定位,并将top和left属性值设置为50%以及translate属性值为(-50%,-50%),这样可以实现图片在垂直和水平方向上居中。 方法四:使用line-height属性 将div中的文字设置为和div一样的line-height值,并将vertical-align属性设置为middle,这样可以使图片在垂直方向上居中。 方法五:使用transform属性 将div设置为相对定位的父元素,然后通过将图片设置为绝对定位,并将top、left、bottom和right属性值设置为0,再将margin属性值设置为auto,这样可以使图片在垂直和水平方向上居中。 这些方法可以根据不同的需求选择使用,都能够实现div中的图片垂直居中的效果。 ### 回答3: html语言div图片垂直居中可以通过以下五种方法来实现图文详解图片的水平垂直居中。 方法一:使用flex布局 在div的样式中设置display:flex;align-items: center;justify-content: center;即可实现图片的垂直居中。 方法二:使用table布局 将div的display属性设置为table,然后在内部创建一个table-cell元素,设置vertical-align: middle;text-align: center;即可实现图片的垂直居中。 方法三:使用绝对定位 将div的定位设置为相对定位,然后在内部创建一个绝对定位的img元素,设置top: 50%;left: 50%;transform: translate(-50%, -50%);即可实现图片的居中对齐。 方法四:使用line-height属性 将div的高度与line-height属性保持一致,并设置line-height的值等于高度即可实现图片的垂直居中。 方法五:使用display:inline-block和vertical-align属性 将div的display属性设置为inline-block,然后为div和img元素都设置vertical-align: middle;即可实现图片的垂直居中。 以上五种方法都可以实现div图片的垂直居中,选择其中一种根据实际情况来使用即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值