2014-01-21 103 views
0

我使用的是托管的购物车软件,这意味着我对使用HTML能做的限制(我无法编辑HTML,但可以添加新的CSS样式和JavaScript)。DIV中的垂直中心文本

什么我想是垂直对齐下面的链接文字(记住,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,我可以垂直对齐文本?

编辑:我要补充的是,行高的方法是行不通的,因为链接文本是动态的,可能跨越一个或2线

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

我知道它好像很多CSS代码,但我设置了链接,以便DIV可点击。

在此先感谢!

+0

,你可以做一个http://jsfiddle.net这些细节?将使它更容易可视化和编辑! – msturdy

+0

当然 - http://jsfiddle.net/6kZE2/ – user3220812

+0

http://jsfiddle.net/6kZE2/1/ – user3220812

回答

0

大一篇文章,谈论的最佳途径之一,以通过CSS垂直对齐文本:

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

+0

我设法让这个工作使用安德鲁的方法[链接] http://jsfiddle.net/ 6kZE2/2/[链接],但现在div不再可点击(只有文本是)。任何想法如何解决这个问题? – user3220812

+0

适当的JSFiddle链接:http://jsfiddle.net/6kZE2/2/ –

+0

使div可点击的唯一方法是将其封装在锚标签中。 我想你在这里试图做的是风格的链接,以便它应该看起来特定的方式,但也可点击。如果是这样的话,你应该采取不同的方法。 –

0

看看他的CSS属性display:tablevertical-align:middle。此外,您还重复了很多样式声明......例如,font-family声明只需要写入.ct_sc_listing_cat类。