web前端—小技巧(解決部分不常見問題)

???????????????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??????? ? ? ? ? ? —來自自學(xué)未入行的前端菜

1.由letter-spacing屬性導(dǎo)致文字不居中;

問題:在使用letter-spacing設(shè)定文字間距后,會(huì)導(dǎo)致文字整體不居中(原因似乎是間距不是2個(gè)文字同時(shí)移動(dòng)產(chǎn)生一個(gè)間距,而是左邊文字相對(duì)右邊文字移動(dòng)產(chǎn)生的間距,因此用了該屬性后會(huì)導(dǎo)致文字整體相對(duì)父元素不居中,分析的可能不是很有道理,只為自己理解起來更方便,更容易記住這種特殊)。

解決辦法:添加text-indent屬性,值與letter-spacing值相同,此時(shí)文字整體會(huì)顯示居中(具體解決原理還沒有想透徹,不過暫時(shí)性解決了問題)

該方法參考自:css - 設(shè)置letter-spacing之后設(shè)置文字text-align:center不能居中? - SegmentFault


2.p元素內(nèi)文字垂直方向居中;

問題:P元素內(nèi)文字垂直方向不居中的問題,單行可直接設(shè)置行高(處理起來比較簡單),但多行就比較麻煩:

解決辦法:假設(shè)P元素計(jì)算后高度為100px(包括上下margin值等),根據(jù)設(shè)定的文字大?。ㄟ@里假設(shè)為18px,一定要單獨(dú)設(shè)定font-size大小,防止因繼承樣式或者瀏覽器默認(rèn)字體大小導(dǎo)致問題),來估算一下多行文字外加行間距整體的高度(假設(shè)有3行文字,粗略估計(jì)多行文字整體高度為60px),然后設(shè)定上下margin值為20px(可根據(jù)視覺效果自行調(diào)整),設(shè)定行高(根據(jù)前面文字整體高度60px/3行)為20px,然后微調(diào)至你想要的效果即可!

該方法是我目前能想到的最好的,在此之前在網(wǎng)上有搜索過相關(guān)問題,只看到一個(gè)相關(guān)的(可能是我找的方式不對(duì)),但我覺得里面提供的幾種方法都不太友好(在這兒我就不貼出來了,有興趣的可以自行搜索)。



根據(jù)實(shí)際使用情況不定期更新,如有更好的方法可在評(píng)論中指出,歡迎探討:)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • CSS格式化排版 1、字體 我們可以使用css樣式為網(wǎng)頁中的文字設(shè)置字體、字號(hào)、顏色等樣式屬性。下面我們來看一個(gè)例...
    張文靖同學(xué)閱讀 1,375評(píng)論 0 3
  • 本文主要是起筆記的作用,內(nèi)容來自慕課網(wǎng). 認(rèn)識(shí)CSS樣式 CSS全稱為“層疊樣式表 (Cascading Styl...
    0o凍僵的企鵝o0閱讀 2,750評(píng)論 0 30
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,158評(píng)論 1 92
  • 本課來自http://www.imooc.com/learn/9請(qǐng)不要用作商業(yè)用途。 HTML5 HTML介紹 H...
    PYLON閱讀 3,450評(píng)論 0 5
  • 1.CSS基本概念 1.1 CSS的定義 CSS(Cascading Style Sheets)層疊樣式表,主要用...
    寥寥十一閱讀 2,061評(píng)論 0 6

友情鏈接更多精彩內(nèi)容