Html CSS:在链接中垂直居中文本

Html CSS:在链接中垂直居中文本,html,css,Html,Css,有两个教程介绍如何垂直居中链接中的文本。但我没有找到任何符合我标准的: ul{ 列表样式类型:无; } 李{ 高度:40px; 宽度:160px; 背景:红色; 边框底部:1px纯绿色; } 李阿{ 线高:1; } 李安{ 宽度:40px; 高度:40px; 浮动:左; 显示:内联块; 背景:黄色; } 文本一行 文本多行非常非常长 尝试使用百分比: <div id="linkContainer" style="width:1000px;height:300px"> &l

有两个教程介绍如何垂直居中链接中的文本。但我没有找到任何符合我标准的:

ul{
列表样式类型:无;
}
李{
高度:40px;
宽度:160px;
背景:红色;
边框底部:1px纯绿色;
}
李阿{
线高:1;
}
李安{
宽度:40px;
高度:40px;
浮动:左;
显示:内联块;
背景:黄色;
}
  • 文本一行
  • 文本多行非常非常长

尝试使用百分比:

<div id="linkContainer" style="width:1000px;height:300px">
<a href="#" style="position:relative;width:100%;height:80;top:10%">link</a>
</div>

尝试使用百分比:

<div id="linkContainer" style="width:1000px;height:300px">
<a href="#" style="position:relative;width:100%;height:80;top:10%">link</a>
</div>

你好,请尝试下面的css

ul {
    list-style-type: none;
}
li {
    height: 40px;
    text-align:center;
    width: 160px;
    background: red;
    border-bottom: 1px solid green;
}
li a {
    line-height: 1;
}
li a em {
    width: 40px;
    height: 40px;
    float: left;
    display: inline-block;
    background: yellow;
}

这是正在运行的演示

您好,请尝试下面的css

ul {
    list-style-type: none;
}
li {
    height: 40px;
    text-align:center;
    width: 160px;
    background: red;
    border-bottom: 1px solid green;
}
li a {
    line-height: 1;
}
li a em {
    width: 40px;
    height: 40px;
    float: left;
    display: inline-block;
    background: yellow;
}

这是正在运行的演示

有一种方法可以做到这一点

方法利用CSS
transform
属性:

HTML:

<ul>
    <li> 
       <a>Text one line</a>
    </li>
    <li> 
       <a>Text multile line Very Very longVery Very longVery Very longVery Very longVery Very longVery Very longText multile line Very Very longVery Very longVery Very longVery Very </a>
    </li>
</ul>   
ul {
    list-style-type: none;
}
li {
    display: block;
    max-width: 500px;
    background: #433669;
    margin: 0 auto 1em;
    height: 140px;
    border-radius: .5em;
    color: white;
}
li a {
    display:inline-block;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}   

此解决方案基于,并根据您的情况进行了一些小调整

有一种方法可以做到这一点

方法利用CSS
transform
属性:

HTML:

<ul>
    <li> 
       <a>Text one line</a>
    </li>
    <li> 
       <a>Text multile line Very Very longVery Very longVery Very longVery Very longVery Very longVery Very longText multile line Very Very longVery Very longVery Very longVery Very </a>
    </li>
</ul>   
ul {
    list-style-type: none;
}
li {
    display: block;
    max-width: 500px;
    background: #433669;
    margin: 0 auto 1em;
    height: 140px;
    border-radius: .5em;
    color: white;
}
li a {
    display:inline-block;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}   

此解决方案基于,并根据您的情况进行了一些小调整

您可以将文本包装在
中,并告知将
LIA
定位为
表格
,而新的
将是一个
表格单元格
。然后,垂直对齐:中间对齐应该可以

HTML:


这是一个

你可以把你的文本包装在一个
中,并告诉你把
LIA
定位为一个
表格
,而你的新
将是一个
表格单元格
。然后,垂直对齐:中间对齐应该可以

HTML:


这里有一个

如果可以在文本周围使用一个额外的跨距,那么可以使用“从”的方法将文本居中

<ul>
  <li>
    <a><em></em><span>Text one line</span></a>
  </li>
  <li>
    <a><em></em><span>Text multile line Very Very long</span></a>
  </li>
</ul>

看这个

如果可以在文本周围使用额外的跨距,则可以使用“从”方法将文本居中

<ul>
  <li>
    <a><em></em><span>Text one line</span></a>
  </li>
  <li>
    <a><em></em><span>Text multile line Very Very long</span></a>
  </li>
</ul>

看这个

这是一个最具交叉性的解决方案

li {
    width           : 200px;
    line-height     : 100px;
    height          : 100px;
    border          : 1px blue solid;        
}
li span {
    display             : -moz-inline-box;  /* FF2 or lower */
    display             : inline-block;     /* FF3, Opera, Safari */
    line-height         : normal;
    vertical-align      : middle;    
}

li span     { *display  : inline;} /* haslayout for IE6/7 */
html

<ul>
   <li><span>My text</span></li>
   <li><span>My longer text</span></li>
   <li><span>My text, but this time is really wide</span></li>
   <li><span>My text, some thoughts about how much it will expand in this item.</span></li>
</ul>
  • 我的文字
  • 我的长文本
  • 我的文字,但这一次真的很广泛
  • 在我的文本中,关于它将在这个项目中扩展多少的一些想法

这是一个最具交叉性的解决方案

li {
    width           : 200px;
    line-height     : 100px;
    height          : 100px;
    border          : 1px blue solid;        
}
li span {
    display             : -moz-inline-box;  /* FF2 or lower */
    display             : inline-block;     /* FF3, Opera, Safari */
    line-height         : normal;
    vertical-align      : middle;    
}

li span     { *display  : inline;} /* haslayout for IE6/7 */
html

<ul>
   <li><span>My text</span></li>
   <li><span>My longer text</span></li>
   <li><span>My text, but this time is really wide</span></li>
   <li><span>My text, some thoughts about how much it will expand in this item.</span></li>
</ul>
  • 我的文字
  • 我的长文本
  • 我的文字,但这一次真的很广泛
  • 在我的文本中,关于它将在这个项目中扩展多少的一些想法

和?垂直方向,而不是水平方向给我一分钟set@brabertaser1992嗨,你想演什么?还有?垂直方向,而不是水平方向给我一分钟set@brabertaser1992嗨,你想展示什么?你试过这个方法吗你试过这个方法吗-