这似乎几乎不可能。
我正在尝试创建仅限HTML / CSS的方形链接按钮,文本居中,不使用CSS3。
我尝试过在inline-block
中找到关于垂直居中文本的每个答案的变体,但我尝试的任何内容都没有达到以下约束:
display:flex
)。想想iOS和Android主屏幕上的并排方形按钮,但使用简单纯粹的HTML / CSS。阴影,渐变,反射都不是必需的,只是按钮结构。
我已尝试使用:before
嵌套div作为垂直对齐inline-block
内文字的技巧,我尝试使用display:table
行和单元格,我甚至试过display:flex
但是使用了CSS3。我试过的解决方案都没有符合上述所有标准。
所以我想知道,如果没有CSS3,这甚至可能吗?如果是这样的话,那么我认为这样的事情会非常直接地完成吗?
答案 0 :(得分:3)
是的,我相信这是可能的,但它使用了很多嵌套的跨度!
这里使用的最疯狂的CSS是display: table
和display: inline-block
,所以我认为你应该非常安全。
body {
font-family: sans-serif;
}
.special-button {
display: inline-block;
height: 100px;
width: 100px;
overflow: hidden;
position: relative;
background: #eee;
color: #333;
text-decoration: none;
}
.special-button:hover {
background: #333;
color: #fff;
}
.special-button-table {
display: table;
width: 100%;
height: 100%;
}
.special-button-cell {
display: table-cell;
vertical-align: middle;
text-align: center;
padding: 10px;
}
<a href="#" class="special-button">
<span class="special-button-table">
<span class="special-button-cell">Text Here</span>
</span>
</a>
<a href="#" class="special-button">
<span class="special-button-table">
<span class="special-button-cell">Longer Text Item Here</span>
</span>
</a>
<a href="#" class="special-button">
<span class="special-button-table">
<span class="special-button-cell">Text Here</span>
</span>
</a>
<a href="#" class="special-button">
<span class="special-button-table">
<span class="special-button-cell">Really Really Long Text Item That Overflows Here</span>
</span>
</a>
答案 1 :(得分:0)
由于非常快速的读取,我可能错过了一些细节 - 让我知道这有多远。
<style>
.ios li {
display: inline-block;
background: #eee;
padding: 5% 10px 20px 10px;
width: 100px;
max-width: 100px;
height: 50px;
max-height: 100px;
vertical-align: top;
text-align: center;
}
</style>
<ul class="ios">
<a href="test.com"><li>short text</li></a>
<a href="test2.com"><li>much longer lot of text</li></a>
</ul>