将链接放置在 div 的中间(水平/垂直)

Posted

技术标签:

【中文标题】将链接放置在 div 的中间(水平/垂直)【英文标题】:Placing link in the middle (horizontally/vertically) inside the div 【发布时间】:2014-01-09 17:27:38 【问题描述】:

我需要将 div 内的链接垂直和水平居中。

我的 CSS:

    .div 
       display:block;
       background:red;
       width:162px;
       height:168px;
    
    .span  
    .link  

我的 html

    <div class="div">
       <span class="span">
          <a href="#" class="link"> Text in middle </a>
       </span>
    </div>

链接:http://jsfiddle.net/pjWUC/

【问题讨论】:

【参考方案1】:

根据您示例中的编码,使用:

Updated jsFiddle example - a 元素垂直和水平居中。

.div 
    display:table;
    background:red;
    width:162px;
    height:168px;

.span 
    display:table-cell;
    vertical-align:middle;
    text-align:center;

【讨论】:

It works in IE8, no lower. 你需要在 IE7 中工作的东西吗? 是的,我也需要 IE7 支持。我相信它会通过 display: inline-block; 来完成。 ?通过在css属性前添加*来定位IE7及更低版本是否可以?【参考方案2】:
.div 
    display:table-cell;
    text-align: center;
    vertical-align: middle;
    ...

很遗憾,根据this,IE 不支持 display:table-cell。

【讨论】:

为什么不呢?您没有指定任何进一步的要求。 因为这会使文本水平居中而不是垂直居中。自己试试吧。。 我很抱歉。我省略了 display: 部分和浏览器兼容性信息。已编辑。

以上是关于将链接放置在 div 的中间(水平/垂直)的主要内容,如果未能解决你的问题,请参考以下文章

当宽度未知时,将图像水平居中并将其垂直放置在 div 内的底部

将水平列表垂直居中放置在div中

CSS垂直和水平居中的Div [重复]

div中的中心图标 - 水平和垂直[重复]

如何在没有绝对定位的情况下将主体元素内的 div 垂直和水平居中? [复制]

如何在 React、Next.js 中使用 tailwind.css 垂直和水平放置内容中心?