摘要:魔法完整代碼如下今日瞎選篇以上代碼運行效果和之前一摸一樣這里就不一一截圖費大家流量啦良心前端。。。。對這個屬性不熟悉的朋友可以去看的文檔幾種語法如下我們用的這個長度單位實際應用較少,卻是行內元素垂直對齊的黑魔法。
本文和以前的文章類似,orange 盡量帶給大家分享實際項目中的坑怎么填,當然只是提供思想,方法很多歡迎討論,還有就是對于剛上手前端的新人不是特別友好,沒關系,涉及到基礎知識我會對應的進行指引,給出鏈接或給出提示,大家可以自行 Google(百度)。
說到行內對齊大家可能會想到類似水平對齊,垂直對齊總結類型的文章,既然我們叫 黑魔法 就不會是基礎的對齊教程,基礎教程的文章好多,大家想必都知道多種方法實現對齊
項目背景還是 orange 所在公司的移動端項目,上案例
截多了,咱們只看第一行的文字,算是每一天都有的 title,有人說: TMD 你在逗我?這有什么可講的誰都會寫好不好!
先別激動,我當然不是解釋這個布局怎么實現的,簡單的例子更容易解釋問題,繼續往下看初步實現的代碼,
14 OCT x 今日瞎選6篇
截圖如下
細心的朋友看出問題了,看不出也沒關系,我們加兩條輔助線嘛!
14 OCT x 今日瞎選6篇
效果如下
好,相信大家現在一目了然存在的問題了,那就是前面的 date 并沒有垂直居中,原因呢!解釋起來也簡單
這里只需要修改一行代碼就能回答大家的疑問
14 OCT orange
將上文對應 html 修改后,得到截圖
這個讓我不禁想起了小學英語作業本的四線格,哈哈,大寫字母的確都在上方的兩個格,而小寫上中下都有例子,多帶帶看 g,很好解釋上面的顯現了吧。
看似簡單的案例還就是這么特殊,恰巧都是數字和大寫字母,細心的還會發現后面的 6 也有問題,一不留神,不居中了,設計來找你,你一臉蒙逼的說我是按照居中寫的啊,解決不了了?
不是的,我們接下來就是解決這個問題的,現實項目要更復雜一些,有經驗的前端知道字體間的差異,個別的字體上下相差特別懸殊,
這里前后的字體是不同的,但幸好垂直方向的差異不是很大,這里我引入了項目原有的字體,中間的 x 其實是個 svg 這里不贅述。因為看懂思想再來一百個不對齊的你也能迎刃而解。
進入真正的魔法世界,針對此案例給出兩個思路大家自行選擇
inline-block 魔法不一步一步解釋,直接上已經解決問題的代碼
14 OCTx今日瞎選6篇
效果如下
好棒啊,我只改變了后面文字的 font-size: 16px; 解決問題了耶,高興的拿給設計師,對比之后返工了,
what fuck?什么鬼?心中一萬個草泥馬(神獸)奔騰而過,仔細看!瞪大眼睛。。。。沒錯
今字的上頭出了我們的輔助線,設計師也會將手機截屏然后對照原稿做輔助線對比的哦~
解決辦法相當簡單,只需要
.desc { margin-top: 1px; /* add */ font-size: 16px; font-family: FZYouH_512B; }
只需要加一行,當當當當~
嗑嗑,湊合這樣吧,為什么?明明對齊了啊!再仔細看,我是認真的,沒玩大家,發現我們的 date 低了不到一個像素(使用 Retina 屏幕的朋友看的明顯些),有人問一像素以內可以調整嘛?明確告訴大家可以,之后的文章準備做解釋,這里不展開
第一種方案到這為止,上手試驗的朋友雖然沒有我的字體,你不必去下載,瀏覽器默認字體一樣的,我們講的是原理,沒必要還原我的 demo,關鍵就是 block 元素的上下 margin 調整。
提醒:這里的 margin 可以設置負值,如果負值無用自己去探索原因吧,給大家線上項目的控制臺
我這里給的就是負值,是有作用的哦,可以去 敢玩移動端主頁,記得在模擬器里查看(不然會亂成一鍋粥),控制臺一看便知,不過多解釋啦。
vertical-align 魔法完整代碼如下
14 OCT x 今日瞎選6篇
以上代碼運行效果和之前一摸一樣這里就不一一截圖費大家流量啦(良心前端。。。。)
和上一個方法區別在于我們行內元素還用之前的 span 標簽。然后通過 vertical-align: 1px; 來調節垂直方向上下的位置。對這個屬性不熟悉的朋友可以去看MDN的文檔:https://developer.mozilla.org...
幾種語法如下
/* keyword values */ vertical-align: baseline; vertical-align: sub; vertical-align: super; vertical-align: text-top; vertical-align: text-bottom; vertical-align: middle; vertical-align: top; vertical-align: bottom; /*values */ vertical-align: 10em; vertical-align: 4px; /* values */ vertical-align: 20%; /* Global values */ vertical-align: inherit; vertical-align: initial; vertical-align: unset;
我們用的這個
兩種方案都可行,有時候不要因為一像素絞盡腦汁,找到突破口,以后誰還會怕行內對齊了呢?
你們還有更好的想法嗎?歡迎交流
文章出自 orange 的 個人博客 http://orangexc.xyz/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/111643.html
摘要:對于一個剛起步的新手來說,搞定屬性確實沒有那么容易。現在我來說說我對幾個屬性值得理解。此屬性是說不讓元素顯示。先上圖是對于行內元素來說的,例如等。 對于一個剛起步的新手來說,搞定css屬性確實沒有那么容易。現在我來說說我對display幾個屬性值得理解。(只是幾個經常用到的屬性值),不足的地方還請大佬們指正。 1.display:none display:none; 此屬性是說不讓元素...
摘要:對于一個剛起步的新手來說,搞定屬性確實沒有那么容易。現在我來說說我對幾個屬性值得理解。此屬性是說不讓元素顯示。先上圖是對于行內元素來說的,例如等。 對于一個剛起步的新手來說,搞定css屬性確實沒有那么容易。現在我來說說我對display幾個屬性值得理解。(只是幾個經常用到的屬性值),不足的地方還請大佬們指正。 1.display:none display:none; 此屬性是說不讓元素...
摘要:如果類型轉換你還不是很了解,可以先讀下這篇來理解一下從看隱式強制轉換機制。函數可對通過編碼的字符串進行解碼。而作者封裝的也是基于這兩者來實現輸出黑魔法字符串的。同時通過,返回了一個匿名函數形成了閉包。為了達到裝逼的效果。 寫在最前 事情的起因是這段看起來不像代碼的代碼: showImg(https://segmentfault.com/img/remote/14600000126810...
摘要:下的屬性值詳解以下內容均在中測試默認對齊方式這里作為參考系,而它的就是所要對齊的了。沒有任何變化。那改變又如何呢為了讓的清晰可見,特意添加一個的包裹著。 前言 一直聽說line-height是指兩行文本的基線間的距離,然后又說行高等于行距,最近還聽說有個叫行間距的家伙,@張鑫旭還說line-height和vertical-align基情四射,貴圈真亂啊。。。。。。于是通過本篇來一探究竟...
摘要:本博文主要分為兩部分,第一部分介紹字體屬性,第二部分則介紹了文本常用屬性二字體屬性字體系列首先介紹一下什么是字體系列所謂字體系列我理解的就同一字體下的不同風格的具體字體的集合。這里的楷體,就可以看做是一個單獨的字體系列。 一 前言 目前在做IFE的練習,初步學習到CSS內容,所以做了總結。本博文主要分為兩部分,第一部分介紹CSS字體屬性,第二部分則介紹了文本常用屬性 二 字體屬性 2....
閱讀 1804·2023-04-26 02:32
閱讀 567·2021-11-18 13:12
閱讀 2446·2021-10-20 13:48
閱讀 2515·2021-10-14 09:43
閱讀 3825·2021-10-11 10:58
閱讀 3483·2021-09-30 10:00
閱讀 2932·2019-08-30 15:53
閱讀 3487·2019-08-30 15:53