From 70ea61519a026e5a5d1bc14d9f1f00e02e4e186d Mon Sep 17 00:00:00 2001 From: Yuhei Yasuda Date: Fri, 6 Dec 2024 00:36:16 +0900 Subject: [PATCH] publish 2024-12-06-overflow-clip-for-line-clamp --- ...024-12-06-overflow-clip-for-line-clamp.mdx | 61 ++++++++++++++++++ .../1.png | Bin 0 -> 9125 bytes .../2.png | Bin 0 -> 9693 bytes .../3.png | Bin 0 -> 8262 bytes .../4.png | Bin 0 -> 9781 bytes 5 files changed, 61 insertions(+) create mode 100644 src/content/blog/2024-12-06-overflow-clip-for-line-clamp.mdx create mode 100644 src/content/blog/assets/2024-12-06-overflow-clip-for-line-clamp/1.png create mode 100644 src/content/blog/assets/2024-12-06-overflow-clip-for-line-clamp/2.png create mode 100644 src/content/blog/assets/2024-12-06-overflow-clip-for-line-clamp/3.png create mode 100644 src/content/blog/assets/2024-12-06-overflow-clip-for-line-clamp/4.png diff --git a/src/content/blog/2024-12-06-overflow-clip-for-line-clamp.mdx b/src/content/blog/2024-12-06-overflow-clip-for-line-clamp.mdx new file mode 100644 index 0000000..ddfcad6 --- /dev/null +++ b/src/content/blog/2024-12-06-overflow-clip-for-line-clamp.mdx @@ -0,0 +1,61 @@ +--- +title: 'line-clampとhanging-punctuationを併用するときはoverflow:hiddenの代わりにclipを使う' +pubDate: 2024-12-06T00:40:00.000+09:00 +--- + +CSSの`-webkit-line-clamp`プロパティを使うとき、通常は`overflow: hidden`を併用することが多い。 + +```css +p { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + overflow: hidden; +} +``` + +
![](./assets/2024-12-06-overflow-clip-for-line-clamp/1.png)
+ +しかし、`hanging-punctuation`プロパティを併用する場合、`overflow: hidden`が指定されているとはみ出した役物が見切れてしまう。 + +```css +p { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + overflow: hidden; + hanging-punctuation: allow-end; +} +``` + +
![](./assets/2024-12-06-overflow-clip-for-line-clamp/2.png)
+ +`-webkit-line-clamp`プロパティを機能させるには、通常は`overflow-y`プロパティを使うだけで十分だ。ただし`overflow-y: hidden`を指定すると、自ずと横方向にスクロール可能な状態になってしまう。 + +```css +p { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + overflow-y: hidden; + hanging-punctuation: allow-end; +} +``` + +
![](./assets/2024-12-06-overflow-clip-for-line-clamp/3.png)
+ +この問題を解決するのが、`clip`である。`clip`を使うと、単方向の切り取りを実現しつつ、もう一方はスクロール不能な状態のままにできる。 + +```css +p { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + overflow-y: clip; + hanging-punctuation: allow-end; +} +``` + +
![](./assets/2024-12-06-overflow-clip-for-line-clamp/4.png)
+ +`hanging-punctuation`プロパティにかぎらず、横方向にコンテンツのはみ出しが発生する場面においては有効だろう。 diff --git a/src/content/blog/assets/2024-12-06-overflow-clip-for-line-clamp/1.png b/src/content/blog/assets/2024-12-06-overflow-clip-for-line-clamp/1.png new file mode 100644 index 0000000000000000000000000000000000000000..c2975fa161c964d9d69af2b5034e6d8df92fd8bc GIT binary patch literal 9125 zcmd6tRa6{L^yiT;g;-Y@o(` zXe+?_pWeO#?Eg8gdN`3{*_jvvgOx;8QBL0n^C*|_*20FSV>Md7`5A|BA%7!ZM%||+ z0mm+(nMj!PP`V=X)Q1=Dnot3G!P%-zWQ33-IawSf5_^a3PlbrrwH zPa1})4dz!lt(1Idkp92c5DK?hDGnC4l)bK!{@5?u!k@UQs3hH0P$(wwPBbqdNGd!u zC#=Cj?T?Pdsext!FsMD(ZG{U`U{vQiHaF-`{UPkA^QPa-{&?7Ve14y+0}ZBZIw+ui zW`7fHknDPE3a%8PDY~*I;vVHnA z77t=KN+*aI2A{=yw{{=4o{b_l<3vRc${X`&AT9;zcDbH294y(RB}t9%0;CcEv>#@@t)LO=ps~x*6?eXzvmqIIx6u>*<*cwa$751eP7IjN%aZtP z;R0@(_W`34$E{@(?h$rtAH+S;cOAIWq^Y4a;R5slC!H6K-|n0$&bi2%pW?C)#c`CVs#z;eX+Hvk}Yt9LMQ84up7Q=Gsf8H%9yHqF?5of0vuo z2zIi~8!R@kGoj4*k}DhO(aBaz0fG5$r+LD>zq4gbhmq30;Up2mFLE;bl4fY4di{l8 z;;1gg_t<~6^m620WZstIY%2eL`mp7={ig!sbs~+J+ecWFi&gDf^>KdCwL{>)vEciu zfk`$Ijin(2BXeP&wu6cm(52GqfPJ}Y`&sU>&~zg`lVB*b3>c%z*={5Y-j~4mZsxWB zk(ceNxvwJr%PDsdTJo@}+ao+j03L&=_SkzhL~flQcu{SaAJ_n=p@;xh?oN7ryXCaN z6e$mJBDFu!hN|+IkPT^u&+P!?+VXMGWs4B31Sw8_0ytN-<{lxIMJ1;mkB4M^{iE=K_{KKNBzU$&)gn3ch#-J1zA&W(%C5`pZ3=2m9)rIqa_ zQ;$fjLbw`cU;E?0ea8G(^dP#)jE}tciZd2?1NYRuGR(cIyCX>&OY;2Ccfh1l@@QSI z7)A3nEPI)@%pA?_i&Z?Tb+0+L*vf-pQ7JXQBNF&#)&FH z-AH0}$1vR@s6%r{XYl=5{^X#cU)QTy$#D^{@?oq=p1uJAxk~t5G+kE|XH=4ADUE=w z%D!Xx0abX~Hl;Cf-cVE0UCi^?dwp2d1oUaWLdhYSwy`*}zO_ zG7Ykkr8kicWT2>YhlTOI!SE-qedJP<@7HA^QqZQCzpA&>1P1Nr1zpH*3qNw{{-rq{ejh@Z3K=fJ__`*QMum0FY$v2ro zjgdbApQ~FaYv9*U@2&9z`q={;7`NbCMQF0PwCi47@Xg{X%B4;%d!5cIB!jbaqc=8e zqi#|M4{PS+)64MAvJe6+CP(cyH;}Ax4Rq_N8YK(w_~oyJ;^BxVukGWdukC9Wom(<# z1Q8$ZE>~9ro&7uok$Ub;Ywrn%MHU@XnkwR-LrWs;Iox5n-DJqB(xQ3qb1@BY*T}v- zOgzgsFSo@}o1%y?8GBpq%SSYX(QSZvFi!&ozP?JU3{Yx*rV^q%VvkdjAM_RZZ6k(D zKPDD~Fm9fkDbh=b_}MNzG-Xt;9gQKt*rZ!Wss<#XZ zX#?1bHhRkRa%i>oqZiwhH zH=)vxqH6N-C%t^bD{Gdj^RK5%%D6YLN2V<5?30u%xVX27b~>fDWqZvpEQ)uPdRaJs zvO(P8DQxx{Q9OQZJ|oy-HkWZhUHI&e29(gTgOOD_f6ULFj%S-i%um|I3Q=5>f&9pri*9+Xh?+zxNRIw36yeJSJ*VSM9P4`#~q!KK<3 zx7T?tMH? zc}6)`xQ2KnzJE3*!x)h6859Qn1$yd8`tix5m}V>NJ*YG-(tSjilqaotvro=PtTPi& ze@wT}J=b%g&cStpcExq(k&^)!bEIQWEs2MfD2!R>H}QzV)U^i`*y&K(v1)xNlJkJHi6$q}ON+Tp4$j!8$W-v)Ez z%WZkwg~!8wy;0cLzIl=o`?Q3NFe8SIkhWFh?sC~XzwP%Rm%-^ouT77_(323A+-nJ1 zbUDVsvybk;-tGaxpDP~x*!DbbyA%nxsluZWz2c&n+i9*@@|e=htR?S@=u23{&I`W( zdtENmlitj2y8vE~r)xds=w<>p{ia`Bpp3>3Z`3{q>@b zs8JNiwaI0js{~Y}4o;5{lEf{U#Hb~TiAs&o3hm?j>8|6;DDGjO$ZJyBMSPI*41}*} zQoau69>lsZMD0&A&iDj}V1``j<|L)tzy=$vxYkZHZr?@FpiJ+X>K1Q&Js#q)#WphOaXfJdM-ow(oimKg z?oE}nya=oy-JJb)?>Th+jVOd^Ss;nnoxCFX_YR84Gwcf)PI^s1ENhnioP2(%23TL; z=iKnwT)MDlC1wu27M+`;zL2@6?<4P68fTU&Cm>9h&Qx!qOAo z?6Il)HFpZFyU8UQmH8iJ_*+)WeF7c|EbAtY9T6)TTeIxTa(Z< zltfAa?BhhPCj`B9D82kdu-5LR)RCP!7ypWp*#}J?<^e5JXn6UrV)#XdYD&&?HMi|t zegToxs@(7-VN{M)0PU1Cyd#-S{m>>s$`Cqvr$#||{^74#@ZBG538SW$@q*CVN+L9v z!*2EPZH1&do1SgFoJCHh5e}a*H|vLcJ`p6@P9Y}OudUGIU!0vVyIiVi`o*ssrA2DJ zTn*eD*N9ihV&3ADBK9E8;g6~*C}Y}i(x(W+9NCz4e%6_b;c$G4X&nBahCfHLXGtqQ zXnggj%q@K<*)nmNWYWYM-W_B&bYyb}nFc6fD) z2QSgeMc*sMyqGGHxpOF&5b>-oJ_sqM{;Bt!cNDLIaMoZpHLw)AT_S)zTV|TmMEf5OphzVVwEIwQ(oU zf8pu7*6NqgVAnvXvZWBu)DX!MPxUg|cVZ$7GyTUYBTGC}`I+LjIA?f-=<{?@7BcB#6AU+)v#p77ZBEZl9PrSD8vy(z4!g5asvVr(K>FR2?B zaYjoiacV)t(yB9hWunruniz7T z+B318oT7?iSl^GwU!(cJ#dc$P%jxsX3*)TH@zbL*?>cIfmC`vq6w`&vhgUbH@K+ab z>0D&3vJYLBE&Pv!=|hl2G=*?F}%Co&`~++~t84W`5pjp(@GyXzc(NezRa1mQ(7`Pf2lY*W?*&Cc!EDUwoX{ zP+C@AgQ*-@!t@3+x5ZC3*CQEcB*Uc^1bAVSbwnwmA;aV#-y}#hcc9LI=?uDu*L$~2 z_9eWnlC`F+F-|2&oi~X)7uB>Puw^vEomfvEuXAd&&P)$_qYZX$SmVsT_b~oWMzGgD zpsxR(w@X7)H6Y<>()TSDVGDg_@W!Elg}fAH%ZxflQX2U5>P?Sw6PaBa^wHaE4R*L{ z#6Hr+K|om4;UrO@OtGX$8{7u_N6BX{$s^O@RMj~i4=XPFoo;NR2p?jiP|43}Cts*32_A;vD5@o+ z=LjQWBXYCkaM_Hd`;TfV@NyaPb2#&Bqf7RF6Qo9CYWB0wSf*hAz;3DIq>FKq%Ttl9 zqmUCRuW9e(LkSko#@1L9k%w50pU|0UpWeCGXfIwW5EplE9<-VDJ_XTH*&LZIq{sd5nofSasJ7o zeQl|~{3*o|-&5FePunl*D~sa{<6Q6q1vN3%7i|*7(3?WYoLVitbos9ElHk$T&oKAF z72U1ClvK;<`Yrh#lnc|LH_9>62s54=StVUWv)GLZ6A^_z5QnkLUBbaCkG;v=gXu8< zMPx>-ceFDTLXbFrFpSJ`44$K&IycFU84J3jo{I9go`d$vmY;AN7Z4y(4P9FGQzhEk z<%^0z6?!%C%GxjRAy3x3EC3J@_`XKQEvNi}{QS_>5!L(ZF_9OCg~BgMAEog?kbc0- zFmsE3(^Tlm#ZG(VP?C#?cv&XM>u2QBx`0DB_@ueKOmDA&7D#Nk)D?hCBd`N(cXvE{SAtIJJMzh3XzYAwdyCD*Lmd3 z0!q%F(__RSo{=9jnTu??hJ51Jz|08F;##PI)41SekUge~iL21C%W;KXxqB}eXCyjYutaQN_cSFJ{@8mA^9Xa)As@n*8;bFw?Ds~jqUeB z_a@_CS|uJn@amp_BZi3h~*m}%V)10ATNJt^#PL6_V%h$D&~QCFPyY5d6kzlF)v1L)wA(GWT!)kAtccnVBw%`eIst`iKo7 z8h1q@3K=2t4?vrm$9~r45JWe9`yK+T=l<0^xoC4& zV?DM_I1nM3g=~(9EDl4>DfNki?|8IR+A~GkCYLZQi?g+O1eF(RJ{z2+Xo+*!LmVf( zB-Z{V$i06YT}j~h7m4X#y`k7=jb;?Z27=&b6XS1xW=y*~30nGlGoJ=DZNyfl>lk!F zuGYfpF{>=|yk-hQPa=0{A8(+sEq_mDcJ@RMi64~N^in&m2~GYG4WO!2Z`KGG>3#~T zF_*4c-TjczgV^Re4Akm+0Z(9#GBPqWgZ0N4u{!I8Uj2vHRV<98Q~bOe2Z`ag);1ck zv8GOGOC4tDYqp66q^vs%a*4W`KK7p68wNZLRZqXACwR3JH#jAwEK9LJf@cV~v$A(x zEuAK;sb@1X2@&GmL|RI?MnzRLX7vv&&$s{lFOWf~zdCw>-SfmM#1wIEq5#ZI!)Wm# zzp-G;Xq@{8?he|e-Uu*5@U5#S?yy8F!Lr-XOIUKLnehdsUWt~$(Eiow9I%&;0DSym zSE~NA+C#b{##FKa+BQd>rVO9_!eX`7Fy#3wg7AsR8o`rqSLuEAhD#dnTlk+msi0m# zEeX=&ds{CP_~=>(R|CunEg^iWG|_;52--0jcw0}p8nzd!QD_zLRc?{sCgzL52u$6p zJnHtZJdG~5O#oM(2VTmCQkh>h(X5~fNAd*72A+EVKEg6JPs-oR6cPC%4;oMR#i<6s z5}z&{z?wy+d8H~~4>xfk?mTq)$~}??3wc1BSr!354p^B?tcr zkcWApB_cJW9*iO(fhowe?FG`%y^=`yM02H5o>zmj*SDNPim0Cq~iehguh zV7H?D1%YmnLJ=6)rmxIQ@B?je*X?QMnX&+^$n0;+ScHjP(=WK_)R>D|as^7g)9k)n zkk%iOK^_c4^gK>_D73*ai!?Vd9&)~uR0NFP?cP&E}o=oFR4pKA(+G`Sv*mf z*q06C4YC$*=c=sy5@O;Pv026j2A9AxL9GNVdZLIDtiJORZY2)04%`H~u8uTbrrHP* zwRCwgyA$4Tw{Ge7X#}xFeo;?3yxG_GODku*3SKfHJ!j2lW5!%#>F^8X;(J6P?{`az zLxKFp3=fd{@>*&2b$IVBq5g4=Lx87PZqt25!sef1Z zGYA$APQC*v=IyU#rkzngR@8Z;*w$Cz|9mhS8vY6Kd+R&Yc=Km*#%lqi*S^JsSw2+O z0`j)|*ARY7VrlB2_u9tgG1Qb>JZ0Hb3ddSmDNz^ZC(zmt!+6~&1N6tcq2TAJKs>FNk`&;UE{rgIcMob60(+0@{}xoTM9_T$)~OuaSRdDg5E%_+&99Cym& zIt6mcf467o5~QI#^}PP8tm5FTT?tp|&agn9wy*b^)?X-Pa{NUx+Ku+x9zet7} z0k=KjGCL|QTzXcTz#>&)Ny6A!c^72{-;Zj`6P9tTgGd!N>4F0#dY<;H4RUt}4L=~& zhc-xjJgV0G%4TJfaF>y!=QaXLtwzW`|ODjgLENhA` zr}`x(#;|>w-?tf^JDs?kx68*^ccrb)IRMS$(t9NG1S($HMF?60f{CKXrU#%Nv-P(% zG>wbzzO@BWIIHE0H-n_lh6Qf|B!DL^{MsblHvf@ZyJbOvO)NaVz_~*3Q(J=xc{7VR zTm$jqe@ixy5MFqjYLnv#sL1|$*34a#Gy#+2`#2UCC<8Z4L9pOxqQ}b$$U*+#w%@$r zBnOp@n<<6U&ly|#0zumsXEo->Pj~`)DSNVu=5vQ1_it&DFi%=WI8k0Oju_R~)QW_72jzbEgkw+JH@mRI%8E4y> z=&p{gAfzrs{EVTg6Wk%zP(8=~IVqOB<_U4_v*-d6v8}{{Zbrc6PkelDcVSLM`|-O5 zSn7)U5o%@Y8LF%PZ7~)-W+r^v2jg1SI$v#w>6P6NZmJfoHvt{^k0oApFnrffcY!vc zppT)M+Zh(p)ib-Us&=AoLG1iFWz_oAtp0keipgM+s~2vxuwC2)*t<6h;KCHR*OIGp zSg#bUmNRJpsax--`=RJR$@7OV8E(H-Gso*`iS?tOxudeClr z)F*$9$bnAIdG2PhALH-fug1ncfA~a3RY^;+Lf-QI{{lo= BUaJ5A literal 0 HcmV?d00001 diff --git a/src/content/blog/assets/2024-12-06-overflow-clip-for-line-clamp/2.png b/src/content/blog/assets/2024-12-06-overflow-clip-for-line-clamp/2.png new file mode 100644 index 0000000000000000000000000000000000000000..a4df88f8e1a87e25ce6ed8cf87dbb10e0b50b3dc GIT binary patch literal 9693 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 xo!dy19R!eI2WP`0vcoz=P*S&{0O?Vl$L;mzT zSKk=tT>R%^XOFBg_S$=|%r)Ofx zCu~<`BM&4bT#|nWGEznsC1McSLq|ytsd}9DFX9WDovgYn5>j0}?jr~t35k9gs35E7 zjeL}i`;$zcEKpb_&4`IrFFIafSm^hTlA`~Yy-*!zIs--)<`aD0F<8lld&r0_j&+^+{y9!u$J#HV(@;Pd{ zS#tc|ZoqZG7hRxGAE8ZJ%+ARWO&o#~SoKoZ{&u5BDYuk6ipOXflO5pN?FP!YIr>n1j#y^#+|*f6Ypr z^^siv`D)&5wBhUOH)mwG*nYhf69;TAjF);pZmhmLk?TSrb-S@a-LrfL%XP_SSZ>p; zaAIZjKn^-u{;|yKe-?vp){`ab@i9%rbh!g2c~VFJurNq0eC>0wyLf%Hj5)vO>wRZT zE^)tCc>VIkTgkPW7rcqvywr9zXMBC!deZ#e_{W;M@(R1vg@!X4+M54^(?d6bKc6@9 zbcuR{k;jsKDYWJFuf2l4!QUS`9#&5<=I??Cz+JXsx-P*NCSR^*n=^g~nfTxRx$Z(G zz^e`-3Uj-%+n2=Pwirz-7anm~!w=mPj4~bu{7ww#^ zHWWQNygDCN%k@eq%)A*t2x1u-sD0yO6q&fcI&c!&FnaU;OznEr%Ut`$x$SJgmXR<_ zPfn)7q2Kq!Z=EZ*G|N5Oe!klDuw(VtX8{7~$68TXmd9v*1f2s00o}(mUUTQETAvHs zJMh))JBY45G5wEq{|9vGT;Kh2RxXnhp4^AShWHg1A=h9ASg%$f)N8XR%y#9c+irsV z3w{-}X0<8hzvvVu4DEkXICOVzgxA5kdNB1{=kja zZy~N(j;G}S!Z@K;U(fLq`1Oj%#G;Da#F%InI>$Nuq!aFcKwbNE(+PJk{PS(EU*ae0!?gz;s_r zua6@u4DVx;nzVrboi1J0Spi>+bw6teIi4bd{3O7sR3p2HUjf36^;4Rhi&E}yz~EMc zMK_8uHs#AltSvn{amP9C1HE4uFe{J!_|X_@RF4)R$2q}U8iRhs&dBV>I(THfE-Q?y z*SJbrzk8s6KE=%Ra?p`^K8p{CG|k0?oD|wkeB~J?4PQL+ z^EzI!AB?54x>>Ly@cS)`8AUySCFn52-fA;KZj9rrxc-xp23&quK$-CGizJ$o1-0BGqS$HGgm3TL z>z19Qu6LJ9jx|vB9{5rF&6?--0Oak&OcmLPdh}7#yqRP64+FIbr{(4*#4ALEd=2Qu z7f#6{`8~4kKEgAn-sohNSLadf0^X)kyy-3waNAPgcd{I}fxmTHGK8t8<<_0Mem64u zmiF3|6Snyn>n{EDSF=B8aL+hSD|GW&1e5jJm90NAXx|X4FviRBjoqj~i@-$z?0ln= z|F8AsmPx$iwc(ak&zhC5R;ak@w;DIdc!ga7$2Y9*4WwgN@Ed1tx~ro=M^x@Tlyv z`GK3%rYH9GeYlajrD|zEiDbnfN_0MbB2CrSn4i0lG0~*Ah3%nw%)ACVt_z})BDbq! z@}u=OBe4zjly(CtM<)UBRxDzoYUdvAI5FX%x6aN9w-T{*gye+6EyBrcnrSC0C@5P> zZB?fzJx{jy8cW-8;;$z=Hu=2Qv{g$gP|kKSkMMZ6CNZB&H`2Tze_*Noj{X^0Ds%rN^V3 z1@Uu{KALcD<+tbxA%jvF8j-VF^rVO|?1qKLrI~s*58?Q6vi&X3_XlI|I`8!bTsLF{ zypBygj$2@95?|?M!MA;y{^ukYi0GCuIC&j95OeB2W+X(+%P>Cb(0WplZq2!@HT6UlOrzOd+c1L{FrBuwKCxEq-&{MuvmVTZ(Y zDV@hAX?RBvfBgJaE<%e~x!MA655A-GsfkD@KOR0Z%eEP+vP={8-O0r^^r~(Hki2gZ zLL%(3I|{s#MB{$G9h6R6%gU37t;Vgc8-LU?MWhU#WD6AL!mi*@{lPml>*o;P0TuBX zuC8cZsEph$2)R%(hyg`(96^YC1(GzgJOgH~U<9ET7{ zQHoUcY;bcmv13Q1!K?r6l4errhs6o&bzm~9kuU*~pMT0WzEV-<3F(z>rfELQmxt>n zjdsUIO$$VFCng~GOe1$T!OXvM_D=(@=<9gfK4)Y(I9#ZWiQ!}~kxE#%^@S#hOgrwN zFkAXZHbZa|dRq@W<1zGb(w4(%=<(YKOFe<3B(jk|)_f~JvuZue=xRdkMB=#GUV1Ko zrWTTewTS7q<=#q(JjJ1Y^up1>V|JuC{u8jd5hgskFd07LG#PLZsI{6wt)2Yf>p@C#h~=_ zWEvAKbOg|*&6wr#J5M%|@fxeqWyXYtk?pyaaJMwqe~A_JczfoK$8Vwyddb~-wI0(& z_``smy9#F4>EJr8E{qO?;7)R23mjy|pI+om#7~bIy1Rb0(!E+O1 z*o_0KBj|j~y5ZCIpqO!>&{` zz{}%Y$9y-!e6=Ndxg$-H&Cm^#m4=3#BTtEgzHA?p>-^~qc;d)d!B*lC%n@K*U4c7nUmS;Jc$Eumb4WvP!mK1ibCawcHkVtujPzP{;5!vzL?mI%%U)5OMn`Q70atB&)v~<#ZJ`xs>;gbJ6UpuZ)RVtEmsW-ksLqW zzKEp{%iAI+$>D~o|7>kIGlmgSWVaRvu|$$3a4YODHC2|W8}?Gl5)PL^{hGX=?_j8# z7MHIn0KNuF;rbkU>T@}H)du39I*3sU%9V`S6(j=AlXFQ+D>7e^el98j%~t4dne=S} zl?g{MS5^Q8W!djJ((NmNuXW-%o3Kk94EPMh`q}4HsuE*UzCF|p=^Hnl?_nW8U$4N) z;STk`LHz&1=Ksr~BJ?^B*mwq4lh#2aJ92)ozNu+;x{zbq<4RKAFLM2ovP8K*)&Fp; z%A{qAou$?$sk8`xCy?oe1iGa>2S{?#A-3tB`)+)+9WU+dh@K>n(9x({sv)cKdRS74 zWwsKHnXvP;2RDTJ5V+YQi2!nzkx({9VV^o>6E&iT_d$K59f=7P(blu6;Z;{)>2!Gq z?4+|hKQ=GdFJIcnP}YRYt)N)xjdjV-Gi*}At@XxfoDd=r7owgjjO>3)I6){t6gdpT#EaF4gzM)$Sv6b>&{dPn@$9Z_r&~YrLE%WN} z`9Ij5FqzZ_eWu18u_jJ_F$w&6Ii(unkzgXu z$?ME=irpxV0Hd;$oFbEKNx$ay$Mccm4iy&4H`b9RB%&cuvO`()S3KOX7?tZ)O67;) zmZ94mfDMyCVSqH2krgyGu&YA9vM4L4hDO`L%9~Xe%#xo!W$`2$ZDU@8W|#fhz?JTD zpU=9&t`ScdK+W->%@|X4k-~U7I6X91ZEAd;h2@v^UM~J4jt)e}H^`lkH3gWaX z)$3$KTw63*E($lmL{z`pos9wHo!CZcuG4kM32{XPtLnMK)L%QKx!R{`C-2rjjATnGbag*M#7oWR>(W9yvzoN+1w11c^s3`4;=nlag zkuUMIWbuWHXo0}-@Al2gSru8;-W;o5^znacU3mMoQh>W_E zKdt%>^`vfmcrc0FT>HoSe!-jdfB;c?{pKWMg9}P+e#NiyEK9aAk^S!N4Q{(8+uQr06BnoEkBdw&@xMjMYCN^JW7Kz_#M+_Mc0hq~6}v3`DUqhvXKth`XCgu|4-i=({yYRATAYCet|MoEPc-*5EU9^<0T@)0laxd9*o zsg88Vn)bPp?s=2aVLl6nZi!4*PLxu9{~~uh93g2STUuo1DCb-`X&-sIRvCuAA$D&` zK9j`4=2&&$&mzU+^2E47KWGw*;!V1^S2g$~^_>|<=QcZ67On1CS{~G))_%HVLzJ*x z^%etm6VRI{bLYrJ13siVIYgAOzO@8Wl|>s?Ta*So#ky{9>O z%a$0>utEd6LmNqb$9vt3Zh4aUJP!@|6$ipBEix|gLl5$lY>$AHYTtlzN}R}2m~h%i zGpu;hSZg=`3|9%N#08+t!UBBG*d^6&d=D7vO#N6EuGE2;p6meepotTo59ZPxw$0ky z_Cp^JeN`Ji{nhb6R3Cy1gFYWZ&Ib)!RL&3%#y4Z<7R6mU|MQn&y6Zb0gK;ly5gyRM z)xZFR0sq^!ah=%HU{@1`0QnPK#keMCs&jM}cLfEQ0vS`}}!IeA|BXy4w0JzQ-v`^x;?CCP6zP10mCf1PB%{_=&6YSAv7*++PioPcWa-f)vq7c;T_!6TMv}o zwF&yTX}A%7?sD=;gmF7IR&^$f3X}xYg6!w*=Z|0sgCEYTJCgS&TQC15{Y2QGdqc>u zKU(iD>r5ynslNrH%1a490i#-Of=m_Q&rdAhUO4LNoh0h!fRWSDeK@aSy zPFuCqC@&0`0Y^_D;PB~YotIOf1@-YCa1;5gbOoUnKmGK{eaxXj-VB=TiWk|6)Ppd# zrRtF~;bbs?ZU;dA5w$E<* zTaHcr@Gu%*KdTw)w5t0kelZ^%EY-ofArHA(IUDOB!cLdPdX@%d6WU0LgH!hpYCZO> zmmov3{Z6)F!tRGYZxZspQve`Y?lbMCBGRcMSv~WE)Yf0!c5DXx>y8D&VM4 zJ8yumZXm~8V+w1Al-f`<`Jk$cA?SC$*rbt9b}mLt#R!(61{zv6<13<(jBNltx#wm~ z3xcW@S9j9|;3~^RzkOVvHv8>UKV*Kt9Zc!|=PEnBYpmi9^BJI$89m+XWii9)BqaI) z7MoQE)1hMEC5Ti>$Q@D=b@wedxvY0EIq9Mog#}r?7+jTlIJC;3sWkZh=F9zMqMt`N zy$5tZ%;tx>y4h-v>p+Yx2d(Sl*&q$9C{>8pYsD?198D~keJo9-QT?Ut{}OxuU-mYX zsu?4CxRF^;#vSdmI>Lpv*d5EXOWDsu(b;ahUUJ+;*vV3POK&kK6 zsxicbobt1?v%q3D|8Z0V(FkXYeSUKRoA_Fxiok235Dfe`H>+N`dX*~4j8gG8>pKf? zpsK0HdF*&V2=qw-XiZ#flRA+6Xi|KR!WJ|dytB8ZpC}wnYrM11v`H86D$Gu&!Ux_Y z<4ioLtx#M(T&pO18ixB^FsI!Un`MSG=fNL0Uo($uM!KZ&*O zM?`p>|P&|z$!9Q%$w4IJk+4Or~0Po zrAf83h&q;E$+(f3o4j!-%uh+aZ=huExrXI^ohS%rsz{g+_v9}*z zVubm7ijG>?9i{`h&0JZ8HjhEI3DsrJ%=tJmj<-7wg9Qcd2i}7Sa2=`(wCxe#_KuvqiW?Z=}B=#4t2mFW6x%z@tDBYY4&G5CJ=CJErf$eKTVXI~R@9 z8Uo`ml2%@_91W>E>qQAYAc}GR?`wzke;1%}-LEBU+R^eEHP}zH-W?(eYkR!$ZuVTg zkP5Wf4*0G@1HG)4m7&sPu_}cC!i+07A3PaH=BNnIBt&5QQqjEz6KGYz7!b+c?6Uqk z_n&V8K3-|j?U~LdgEDt#`e?Td7jqnU8i7WNW)vbV&(z7vhKka@y>?Fa=9_0gndUNJ z_Ahz7L?E;7my@4v+kN>)c=N8*YT;3ZDkPs(7abe8e1Fhp>_0n(W&E(zKF#?sT@roO z@^rn7I)V>DTrV_YI>8MY6kSJ&zry8hOV|@HpFGM+_xumTi6Y>6$1nHGwb9*64`;oz z2TQ`(p|jp_{Dwcj^={0${=;Pj(@>|Td?IgiG#W;pTZ^91?WF2o`xOf7;s`c7&?A1h zKd7Nt#SF@`>YA4+;$GL>1L}O}qYaTRsuTS4G>?-?n4re?H&hwPcEn+u*46f4?)$kw z@}FYWuPTzKd}`sEqJK#5sJJva=)5@!C&aMDUbqhC%j^Rf)Tu z;4ObdCoz&pM?0FDPMdikvel;b}#(S~W% z9@>00WzFZX|FHj1L*~8-WV6nu;6rpUjCl+bVKh|vG;X80($Wj_M!8HkAlY|_9-lQm z`KQz#&8ch`c`5syFg|G+@6)t@?WKZWe0MM3SS#21^0i$ZuZq`Uww0fB8VrR6avRpl zkiVFu1VE_CmNSum9U<&)=7dRnctONOmZ*T+AtCI77rg%EhNtCq765kBdAFPC^$@VD zxklWG=w2C>UN7hn0_dDqRx~Neb={l9 zudHmKdHXSP^(&F%KrB^#>U+^>jtrJ%uQeaLt?_zdl&Rg1!RR{qoBeS>YlJoLhD9%0${fl3;=v6>Z* zq;?YIV+E`-C3M}88L?6C5amQSI}eGNqFriI(`@vtjo_fcZ|8%->)2p~+0;Z*sq zjXf=6Q)MV0_cnTpmcvgnvOv)8(~JMlPWXSf(0k#?y-IeBEO9D`KLa2k0TneAs^u(# F{|DAz5ySuh literal 0 HcmV?d00001 diff --git a/src/content/blog/assets/2024-12-06-overflow-clip-for-line-clamp/4.png b/src/content/blog/assets/2024-12-06-overflow-clip-for-line-clamp/4.png new file mode 100644 index 0000000000000000000000000000000000000000..2adf23ed0a70ce113eb1d78083838e1080df5a02 GIT binary patch literal 9781 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�dQ^6ffY?hOJ+Ar#$<%3r1|&e_;P^@RYLrpF05~hF|Jv$9we}!Yd(n= zb#N`A^#vQ{JVtD4BgfWFzh?-YF{>|VWqn2k4s2A&?zA=GBM~aiIh3 zY(2b6bypd6viD>FCF8T$^bLCJgvl@;Nn0IUMuDQ7(lKfF?0Yl5KDI%2Jl@3$ItDZ&R-0rHz3 zlzKLnLYU9A?V9_O152g#*PS)=@DSq0^|R*{P(|MLNX5*#S;{>rvVyuviRY2|(!_^X zc`ye-QoI#BW_r~FZ&zsquiR`P$bT!ZEGlx8!NizUYb1~=u)l=Rz;l+V`~jCa`Ez;b zJo+FfRCy3VHq-Goxuyrr28InE9;bY?bjbDdklVrN!l5^N|Ap>d2WIJ80N>0 zV9F-CAe5UgQJdhKtVDCbVH1&zBEUz=azmNpR!Va zFH9bzM-~~|iN?~GCkJEBsfDYTI1QyxIXrK%x|1aO=kwiS@0P>^L?R}n*pnaOqOTac zGoQ=7y$}NT)8K{E*wuXS+)3XVL0?^V2lw03|9gkWsA1Tx_Bqk2tp$YbI#`7%_(5K;0x^r z4lp4wS2#J#_IIa}=`+pcBt6D>8v9^wda=zDp=A35yu0a1({`M0G8IBF6Y<~pqkzU0 zeaXyc$X21px>M2T5N`;{fN*UwOg)-!|0W{hJylsc_<6ZKm~w>hOT`pmtAQ~sv`B%+ zK>d71yQNnAkx41{*MV`*WFFjma+P&`82%>j)%1Ar_a*(M6Pyo`{J3|a&>vc6UiBc4 z=#KdU>7-RYa+OtVtZ@MY2)Qr(%3?f#;$D=HECn3ctxWg1$r!fi-s(teA$DJN)D-s! zy)S#!OSYy^dY7t2jF%g@tt6l85p@glBrY>!82~YY5zrWP0>4c^x?yHDJMXvHXRti; zN)8U*z!TaSq%iAeX~LoH(Og5)oX(D*ks==3iD4)z;puIZ4y2p1SJfjOYprfWoRU;t zzUC-k=zf(_XVo;@!!1LgaM+RbRRLcWm&*XYxks||DC?kxVY^eI90&#r2EoJPOi6%_ zyaVd;TiA7sU2e+hdExXdZgzyEU)@uRQJfb192v3+vbFsrNqm24 z2bPFlDFBDFe6EJhs=ipk;|I3e`Aak`qmSdK3nUNig|;c}Q%kyLpb4J0UHdqdQ=xHf zxFqBnB_cSb@J5XoY7^w#a64{^;l)R*i07o+^Q1dif>)&j-pr>rT)ZKwMMI5+%@H~z z?mcMCY78s}i`2BFDeNV`tR3G`AJ5dUzsiE6@tEE4+`zCiMRN6?^<2Q6g485qY?RP3 zN1wZ%P~>*kbQ%SOSqVa06_4|u-9?woEeCn5zJLBnQE3y}x7Fg@naO6DKpmYxLg{5J z1SVERE_jFK_KSz2wAhZlemLgu=+`+U%h~FkYMr<2h5ZEEieJwxL3Y9?RWwqC* zaeQY|X85mXuFrUkTG){DA869a&n0aYR#ya@mUp_Y`3WG^Gnw)*TFEF}+< zg1bydet7N|Vz>sF*|u4x{0QWIgwW@W2+iImMBclM^H?{MvQZ=-4K z`EFCVvxhSQwE+&oE9ulP8%4zf+lRe~O>79EEYlzrcks6loG)CE{A_7O^Ya+W7{g$@ zl?_j((=e?rp)vRKNxiQ5o^H13o-vHUxkz~Zux{mFl zr6(2v39eV@3D`V*K@wwh|6rEVF&8Eh(c^y9-};@6vb6A>1tb4socMPGQLG3N-(JGr>( z{3^IP0fsc>z0OT6?_tK z^47s;p{}k3!yE!bShyZCLbP0-sKBl-v>$ue4M@Wv-LRU3ECfLJ3z4Gqi+RAK^g;Te z2#dKOV99}umYWKk2nYm2oa;-#&;!6@Lx#h~+Qer8y?X~{>#^<%FoHO2M9vR@H-Z>o zh)Q^%g1$gjg^98IeD-7KinR QzaQC>7MB;R5-|w+4{P6vvH$=8 literal 0 HcmV?d00001