2012-05-09 15 views
8

यह वही है मेरे वर्तमान कोड लग रहा है जैसे:पाठ स्थिति

HTML:

<a class="button" href="#">Read More</a> 

सीएसएस:

.button { 
background:url('../images/btn_bg.jpg') repeat scroll 0% 0%; 
font: 12px Helvetica, Arial, sans-serif; 
color: #FFF; 
text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2); 
text-transform: uppercase; 
text-align: center; 
text-decoration: none; 

cursor: pointer; 
border: none; 

min-width: 87px; 
min-height: 29px; 

float: right; 
margin-top: 14px; 

padding-top: 4.25px; 

transition: all 0.5s ease 0s; 
-webkit-transition: all 0.5s ease 0s; 
-moz-transition: all 0.5s ease 0s; 
-o-transition: all 0.5s ease 0s; 
} 

.button:hover { 
background: url('../images/btn_over.jpg') repeat scroll 0% 0%; 
} 

परिणाम:

+०१२३५१६४१०

JPG Image Result


सबसे पहले, स्तंभ कि यह सब में लपेटा जाता है एक margin-bottom: 14px है। यह कॉलम से दूरी और उसके नीचे की दो क्षैतिज रेखाएं बनाता है। ऐसा इसलिए है यदि उपयोगकर्ता बटन को सभी एक साथ ले जाना चाहता था, कॉलम के अंदर का पाठ अभी भी नीचे दी गई दो पंक्तियों से 14 पीएक्स शर्मीला मिलेगा।

आप देख सकते हैं .button के लिए पाठ सीएसएस padding संपत्ति और text-align: center का उपयोग करके बीच में गठबंधन है। बटन पर margin-top: 14px है जो बटन के नीचे समान स्थान देता है।

हालांकि, मुझे जो मिल रहा है वह यह है कि बटन के अंदर पाठ के लिए padding तत्व का उपयोग करके, यह इसके चारों ओर की दूरी को प्रभावित करता है (इस मामले में, बटन के नीचे की जगह जो 14px है, अब बड़ा है यह क्या होना चाहिए)।

प्रश्न:

वहाँ एक रास्ता खड़ी .button भीतर पाठ गद्दी संपत्ति का उपयोग किए बिना बदले बिना कोई सफलता के लिए ऊर्ध्वाधर- align, स्थिति, नाव और कुछ अन्य लोगों लेकिन संरेखित करने के लिए के रूप में मैं कोशिश की है है बॉक्स के ऊपर या नीचे की जगह ... इस बारे में जाने का सबसे अच्छा तरीका क्या है और यदि संभव हो, तो इसके बजाय छवि का उपयोग करने का एक वैकल्पिक तरीका क्या है?

किसी भी मदद की सराहना की जाएगी। http://jsfiddle.net/9xpfY/

उत्तर

18

आप दो तरीकों से ऐसा कर सकते हैं, हालांकि दूसरे विकल्प के लिए padding आप निर्धारित किया है रिश्तेदार काम करता है जावास्क्रिप्ट के बिना लेकिन इन तरीकों के दोनों पूर्ण ऊंचाइयों की आवश्यकता है।


  • पहले, एक स्वाभाविक पसंद लाइन ऊंचाई का उपयोग है।

    यह टेक्स्ट की रेखा की ऊंचाई को एक मान पर सेट करके काम करता है, और क्योंकि टेक्स्ट पहले से ही लंबवत रूप से लाइन-ऊंचाई के केंद्र में गठबंधन किया गया है, जिसे आप ढूंढ रहे हैं।

    line-height : 27px; से .button { लाइन जोड़ने से आपको वांछित परिणाम मिलेगा।

    jsfiddle


  • दूसरा तरीका एक स्पैन टैग में तत्व के अंदर पाठ लपेट और bottom: -6.75px;

    आपका बटन तत्व प्रकार दिखाई देगा करने के लिए bottom गुण सेट करने के लिए है यह

    <a class="button" href="#"><span id="buttontext">Read More</span></a>

    और आप अपने सीएसएस में यह पंक्ति जोड़ होगा:

    #buttontext {position: relative; bottom: -6.75px;}

    jsfiddle

दें संदर्भ

+4

मुझसे शादी करें @ मैजिक डेव – user1752759

+0

हाहा, कोई चिंता नहीं; जो कुछ भी आप काम कर रहे हैं उसके साथ अच्छा लगाओ। –

3

आप अंदर टेक्स्ट की रेखा ऊंचाई निर्दिष्ट करने के लिए "लाइन-ऊंचाई" शैली का उपयोग करना चाहते हैं। ध्यान रखें कि यह कुछ मामलों में तत्व की ऊंचाई भी बदल सकता है (उदाहरण के लिए, रेखा-ऊंचाई तत्व की न्यूनतम ऊंचाई से बड़ी है)। देखें: के रूप में एक ही मूल्य के लिए http://jsfiddle.net/VvnhJ/

+1

सुंदर वहाँ काम @MK_Dev, मैं और अधिक क्या कह सकते हैं? आप बहुत अंतर्दृष्टिपूर्ण रहे हैं। – user1752759

1

सेट line-height बटन के height

+0

आपके समय और प्रयास @wheresrhys के लिए धन्यवाद। आप बहुत मददगार रहे। – user1752759

1

मुझे लगता है कि एक बात आप कर सकते हैं line-height विशेषता का उपयोग करने के लिए है। इस आजमाएं:

.button{ 
    line-height : 27px; 
} 
+0

आपकी त्वरित प्रतिक्रिया @ zhujy_8833 के लिए धन्यवाद। आपका जवाब पूरी तरह से काम किया! – user1752759