DIV中的垂直中心文本

时间:2014-01-21 20:02:04

标签: javascript html css

我正在使用托管购物车软件,这意味着我对HTML可以做的事情有限制(我不能编辑HTML但可以添加新的CSS样式和JavaScript)。

我想要的是垂直对齐下面的链接文本(请记住HTML是硬编码的):

<div id="ct_sc_listing">
<div class="ct_sc_listing_cat">
<div class="ct_sc_listing_cat_name"><a href="#">Link Text</a></div>
</div>
</div>

这是我正在使用的CSS代码:

<style type="text/css">

#ct_sc_listing 
    {   
    margin: 0px;
    padding: 0px;
    float: left;
    width: 100%;
    }

.ct_sc_listing_cat {
    position: relative;
    width: 150px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #336;
    font-size: 24px;
    text-decoration: none;
    background-color: #DFEBEB;
    text-align: center;
    float: left;
    display: inline-block;
    padding: 5px;
    height: 150px;
    margin-top: 5px;
    margin-right: 5px;
    margin-bottom: 5px;
    margin-left: 0px;
}

.ct_sc_listing_cat a:link {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #006;
    font-size: 24px;
    text-decoration: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-decoration: none; /* No underlines on the link */
    z-index: 10; /* Places the link above everything else in the div */

}

.ct_sc_listing_cat:visited, .ct_sc_listing_cat a:visited {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #006;
    font-size: 24px;
    text-decoration: none;
}

.ct_sc_listing_cat:hover, .ct_sc_listing_cat:hover a{
    background-color: #006;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #DFEBEB;
    font-size: 24px;
    text-decoration: none;  
}
.ct_sc_listing_cat:active, .ct_sc_listing_cat a:active {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #FFF;
    font-size: 24px;
}

</style>

无论如何,使用CSS或JavaScript,我可以垂直对齐文本吗?

编辑:我应该补充一点,行高法不起作用,因为链接文本是动态的,可能跨越一行或两行

我有一个想法,可以使用JavaScript将链接文本包含在DIV中,然后使用CSS来设置样式并垂直对齐文本。我不知道怎么做,所以任何想法都会受到欢迎!

我知道它似乎有很多CSS代码,但我已经设置了链接,以便可以点击DIV。

提前致谢!

2 个答案:

答案 0 :(得分:0)

看看他的CSS属性display:tablevertical-align:middle。此外,您正在重复许多样式声明...例如,font-family声明只需要在.ct_sc_listing_cat类中编写。

答案 1 :(得分:0)

很好的文章讨论了通过css垂直对齐文本的最佳方法之一:

http://zerosixthree.se/vertical-align-anything-with-just-3-lines-of-css/