Feliz: μ›μ‹œ μ‚¬μš©μž μ •μ˜ 값에 λŒ€ν•œ CSS 속성에 λ¬Έμžμ—΄ μ˜€λ²„λ‘œλ“œ μΆ”κ°€

에 λ§Œλ“  2019λ…„ 11μ›” 11일  Β·  15μ½”λ©˜νŠΈ  Β·  좜처: Zaid-Ajaj/Feliz

λ§ˆμ§€λ§‰μœΌλ‘œ Feliz 자체λ₯Ό 더 많이 가지고 λ…ΈλŠ” κ²ƒμž…λ‹ˆλ‹€. λ³€κ²½λ˜μ–΄μ•Ό ν•˜κ±°λ‚˜ 변경될 수 μžˆλŠ” λͺ‡ 가지 사항을 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

일뢀 속성은 λ„ˆλ¬΄ μ—„κ²©ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ Material-UIλ₯Ό μ‚¬μš© 쀑이고 box-shadow λ₯Ό μ„€μ •ν•˜λ €λŠ” 경우 μ˜€λ²„λ‘œλ“œλŠ” int 및 int νŠœν”Œλ§Œ ν—ˆμš©ν•˜λ―€λ‘œ boxShadow λ₯Ό 톡해 μ„€μ •ν•  수 μ—†μŠ΅λ‹ˆλ‹€. MaterialUI theme.shadows λŠ” λ¬Έμžμ—΄ 배열이며 일반적인 μ‚¬μš©λ²•μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

Styles.create [ style.custom ("box-shadow", (theme.shadows.[5])) ]

λͺ¨λ“  μŠ€νƒ€μΌ μ†Œν’ˆμ΄ λ¬Έμžμ—΄μ„ 받아듀일 수 μžˆλ„λ‘ μ‘°μ •ν•΄μ•Ό ν•˜λŠ”μ§€ μ•„λ‹ˆλ©΄ 이런 μ’…λ₯˜μ˜ 섀정을 μˆ˜ν–‰ν•  λ•Œ style.custom 만 ν•˜λ„λ‘ μ‘°μ •ν•΄μ•Ό ν•˜λŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. @cmeeren 생각?

λ˜ν•œ outline 및 justify-content 이(κ°€) μ™„μ „νžˆ λˆ„λ½λœ κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€.

Feliz enhancement good first issue

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

νŽ λ¦¬μ¦ˆλŠ” 개발자의 행볡을 μœ„ν•΄ μ‘΄μž¬ν•©λ‹ˆλ‹€. κ°œλ°œμžκ°€ ν˜•μ‹ μ•ˆμ „ μ˜€λ²„λ‘œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 것보닀 이λ₯Ό λ‚¨μš©ν•˜λŠ” 것이 더 ν–‰λ³΅ν•˜λ‹€λ©΄(ν•„μ—°μ μœΌλ‘œ κ·Έλ ‡κ²Œ μƒκ°ν•˜μ§€λŠ” μ•Šμ§€λ§Œ) μš°λ¦¬λŠ” μ •λ§λ‘œ 그것을 쀑지해야 ν• κΉŒμš”?

λ™μ˜ν•©λ‹ˆλ‹€. μ‹€μ œλ‘œ λ¬Έμ œκ°€ λ˜μ§€λŠ” μ•Šμ§€λ§Œ λ„ˆλ¬΄ λ§Žμ€ 것을 μΆ”κ°€ν•˜μ—¬ λ°œμ— 총을 쏠 수 μžˆλ„λ‘ μ£Όμ˜ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 이 λ§₯λ½μ—μ„œ ν™•μ‹€νžˆ 그렇지 μ•ŠμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  15 λŒ“κΈ€

μ£„μ†‘ν•©λ‹ˆλ‹€. 길을 μžƒμ—ˆμŠ΅λ‹ˆλ‹€. κΈ°λ³Έ CSS μ†Œν’ˆμ€ MUI와 관련이 μ—†μŠ΅λ‹ˆλ‹€. FelizλŠ” CSS 사양에 따라 λͺ¨λΈλ§ν•˜λŠ” 것이 μ˜³μŠ΅λ‹ˆλ‹€. MUIκ°€ λ¬Έμžμ—΄ 배열을 μ‚¬μš©ν•œλ‹€λŠ” 것은 무엇을 μ˜λ―Έν•©λ‹ˆκΉŒ? AFAIK CSSμ—λŠ” λ°°μ—΄ κ°œλ…μ΄ μ—†μŠ΅λ‹ˆλ‹€. CSS props와 component propsλ₯Ό ν˜Όν•©ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

κΈ€μŽ„, μœ„μ˜ μŠ€λ‹ˆνŽ«κ³Ό 같이 인덱슀둜 μ•‘μ„ΈμŠ€ν•˜λŠ” λ¬Έμžμ—΄μ˜ 배열일 λΏμž…λ‹ˆλ‹€. 예, Felizκ°€ 라이브러리λ₯Ό νŠΉλ³„νžˆ κ³ λ €ν•΄μ„œλŠ” μ•ˆ λœλ‹€λŠ” 데 λ™μ˜ν•©λ‹ˆλ‹€. λ‚΄ μ§ˆλ¬Έμ€ κ·Έ μ†Œν’ˆμ— λŒ€ν•œ λ¬Έμžμ—΄ μž…λ ₯을 ν—ˆμš©ν•˜κΈ° μœ„ν•΄ 상황을 λŒ€μ²΄ν•΄μ•Ό ν•˜λŠ”μ§€μ˜€μŠ΅λ‹ˆλ‹€.

였, λ§žμ•„. 당신은 이것을 μ–ΈκΈ‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€ :

image

예, μ•„λ§ˆλ„ Feliz의 boxShadow λ₯Ό λŠμŠ¨ν•˜κ²Œ ν•΄μ•Ό ν•©λ‹ˆκΉŒ?

그건 κ·Έλ ‡κ³ , 이 νŽ˜μ΄μ§€λ₯Ό μ°Έμ‘° boxShadow 속성(μŠ€νƒ€μΌ μ•„λ‹˜)에 인덱슀λ₯Ό μ§€μ •ν•˜μ—¬ MUIμ—μ„œ ν…Œλ§ˆμ˜ shadows 배열을 μ‚¬μš©ν•˜λŠ” 또 λ‹€λ₯Έ 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

νŽ˜μ΄λ“œ κ°€ λΆˆν–‰νžˆλ„ κ·Έ μ†Œν’ˆμ„ μ§€μ›ν•˜λŠ” κ²ƒμ²˜λŸΌ 보이지 μ•ŠμŠ΅λ‹ˆλ‹€. 이것이 μ œκ°€ κ·Έ νŠΉμ • 속성을 μ‚¬μš©ν•˜λŠ” μ΄μœ μž…λ‹ˆλ‹€.

λ‚˜λŠ” μ–΄λ–€ ꡬ성 μš”μ†Œμ— λŒ€ν•œ κ·Έ μ†Œν’ˆμ„ μ „ν˜€ λ³Έ 적이 μ—†μœΌλ©° λ‚΄κ°€ 링크 ν•œ νŽ˜μ΄μ§€μ—μ„œλ„ 그듀이 μ‚¬μš©ν•˜λŠ” Box ꡬ성 μš”μ†Œλ₯Ό 보지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ ν˜Όλž€ μŠ€λŸ½μŠ΅λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ λͺ¨λ“  ꡬ성 μš”μ†Œμ— μ‚¬μš©μž μ •μ˜ "boxShadow" λ˜λŠ” "box-shadow" μ†Œν’ˆμ„ μ„€μ •ν•˜κ³  μž‘λ™ν•˜λŠ” 것을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

μ–΄μ¨Œλ“  "그림자" λ¬Έμ„œ νŽ˜μ΄μ§€λŠ” 정말 κ°œμ„ λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

λ„€, μ•„λ§ˆλ„ Feliz의 boxShadowλ₯Ό ν’€μ–΄μ•Ό ν• κΉŒμš”?

μ΄μƒμ μœΌλ‘œλŠ” 이것이 style.custom 이기 λ•Œλ¬Έμ— 그럴 ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. 이것이 μš°λ¦¬κ°€ λ§ν•˜λŠ” λ°˜μ‘μ΄κΈ° λ•Œλ¬Έμ— boxShadow 이어야 ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. λ‹€μ‹œ λ§ν•˜μ§€λ§Œ string κ³ΌλΆ€ν•˜λŠ” 해둭지 μ•ŠμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 그것에 λŒ€ν•΄ μƒκ°ν•©λ‹ˆλ‹€

λͺ¨λ“  것에 λŒ€ν•œ κΈ°λ³Έ λ¬Έμžμ—΄ μ˜€λ²„λ‘œλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ μ‹€μ œ CSS 이름이 무엇인지 쑰회/κΈ°μ–΅ν•  ν•„μš” 없이 style.custom 와 λ™μΌν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ˜΅μ…˜μ€ style.boxShadow.custom 같은 것을 μ‚¬μš©ν•˜μ—¬ μ—¬μ „νžˆ ν•΄λ‹Ή μŠ€νƒ€μΌμ˜ 일반적인 μ‚¬μš© μ‚¬λ‘€μ—μ„œ λ²—μ–΄λ‚˜κ³  μžˆμŒμ„ μ•Œ 수 μžˆλ„λ‘ ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

λͺ¨λ“  것에 λŒ€ν•œ κΈ°λ³Έ λ¬Έμžμ—΄ μ˜€λ²„λ‘œλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ μ‹€μ œ CSS 이름이 무엇인지 쑰회/κΈ°μ–΅ν•  ν•„μš” 없이 style.custom 와 λ™μΌν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

흠, 사싀 λ‚˜μœ 생각은 μ•„λ‹™λ‹ˆλ‹€. λ‚΄ 말은, μš°λ¦¬λŠ” ν™•μ‹€νžˆ νƒ€μž… μ•ˆμ „μ„±μ„ μž₯λ €ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ CSSμ—μ„œλŠ” μ–΄μ¨Œλ“  λͺ¨λ“  것이 λ¬Έμžμ—΄μ΄λ©° "λΉ λ₯΄κ³  λ”λŸ¬μš΄" 물건을 μœ„ν•΄ λ˜λŠ” @Shmewκ°€ λ§ν–ˆλ“―μ΄ ν˜„μž¬ μ§€μ›λ˜μ§€ μ•ŠλŠ” 것이 μžˆλŠ” 경우 μ΄μŠ€μΌ€μ΄ν”„ ν•΄μΉ˜κ°€ 있으면 쒋을 κ²ƒμž…λ‹ˆλ‹€.

λͺ¨λ“  μŠ€νƒ€μΌ 속성에 λŒ€ν•΄ λ¬Έμžμ—΄ μ˜€λ²„λ‘œλ“œλ₯Ό κ°–λŠ” 것이 쒋은 생각인지 ν™•μ‹ ν•  수 μ—†μ§€λ§Œ 적어도 κ³ λ €ν•΄μ•Ό ν•  μ‚¬ν•­μž…λ‹ˆλ‹€.

κ°œλ³„ μŠ€νƒ€μΌμ— κ³ΌλΆ€ν•˜λ₯Ό 주지 μ•Šλ„λ‘ style.custom 에 μ—°κ²°λœ λͺ¨λ“  μ•Œλ €μ§„ μŠ€νƒ€μΌ 이름은 μ–΄λ–»μŠ΅λ‹ˆκΉŒ?

style.custom.boxShadow "3px 3px red, -1em 0 0.4em olive"
style.custom.transition "margin-right 4s ease-in-out 1s"
style.custom("-webkit-text-stroke", "4px navy") // keep original custom fallback too

λͺ¨λ“  μŠ€νƒ€μΌ 속성에 λŒ€ν•΄ λ¬Έμžμ—΄ μ˜€λ²„λ‘œλ“œλ₯Ό κ°–λŠ” 것이 쒋은 생각인지 ν™•μ‹ ν•  수 μ—†μ§€λ§Œ 적어도 κ³ λ €ν•΄μ•Ό ν•  μ‚¬ν•­μž…λ‹ˆλ‹€.

@cmeeren μŠ€νƒ€μΌμ— 데이터λ₯Ό μ œκ³΅ν•  수 μžˆλŠ” μ™ΈλΆ€ 라이브러리λ₯Ό μ‚¬μš©ν•˜λŠ” 것은 μŠ€νƒ€μΌμ— 직접 μ œκ³΅ν•˜λ €λŠ” 경우 style.custom ("..", someLibraryThing) μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

κ°œλ³„ μŠ€νƒ€μΌμ— κ³ΌλΆ€ν•˜λ₯Ό 주지 μ•Šλ„λ‘ style.custom에 μ—°κ²°λœ λͺ¨λ“  μ•Œλ €μ§„ μŠ€νƒ€μΌ 이름은 μ–΄λ–»μŠ΅λ‹ˆκΉŒ?

@zanaptak 저도 이 아이디어가 λ§ˆμŒμ— 쒋은지 λ‚˜μœμ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

μŠ€νƒ€μΌμ— 데이터λ₯Ό μ œκ³΅ν•  수 μžˆλŠ” μ™ΈλΆ€ 라이브러리λ₯Ό μ‚¬μš©ν•˜λŠ” 것은 μŠ€νƒ€μΌμ— 직접 μ œκ³΅ν•˜λ €λŠ” 경우 번거둜울 κ²ƒμž…λ‹ˆλ‹€.

진싀.

κ°€μž₯ κ°„λ‹¨ν•œ 해결책은 λͺ¨λ“  μŠ€νƒ€μΌ μ†Œν’ˆμ— λŒ€ν•΄ λ‹¨μˆœνžˆ string μ˜€λ²„λ‘œλ“œλ₯Ό κ°–λŠ” κ²ƒμž…λ‹ˆλ‹€. λ¬Έμžμ—΄ λ§€κ°œλ³€μˆ˜λ₯Ό rawValue λ˜λŠ” 이와 μœ μ‚¬ν•˜κ²Œ ν˜ΈμΆœν•˜μ—¬ μ‚¬μš©μžκ°€ μŠ€μŠ€λ‘œμž„μ„ λͺ…ν™•νžˆ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ°€μž₯ κ°„λ‹¨ν•œ 해결책은 λ‹¨μˆœνžˆ λͺ¨λ“  μŠ€νƒ€μΌ μ†Œν’ˆμ— λŒ€ν•΄ λ¬Έμžμ—΄ μ˜€λ²„λ‘œλ“œλ₯Ό κ°–λŠ” κ²ƒμž…λ‹ˆλ‹€. λ¬Έμžμ—΄ λ§€κ°œλ³€μˆ˜λ₯Ό rawValue λ˜λŠ” 이와 μœ μ‚¬ν•œ μ΄λ¦„μœΌλ‘œ ν˜ΈμΆœν•˜μ—¬ μ‚¬μš©μžκ°€ μŠ€μŠ€λ‘œμž„μ„ λͺ…ν™•νžˆ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@cmeeren λ‚˜λŠ” 이것이 μ’‹κ³  제곡된 μ˜€λ²„λ‘œλ“œμ˜ μžμ—°μŠ€λŸ¬μš΄ ν™•μž₯이라고 μƒκ°ν•˜μ§€λ§Œ style.boxShadow(rawValue: string) 만 μ‚¬μš©ν•˜λ©΄ ꢌμž₯λ˜λŠ” μœ ν˜• μ•ˆμ „ λ°©μ‹μœΌλ‘œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” λŒ€μ‹  많이 λ‚¨μš© 될까 κ±±μ •λ©λ‹ˆλ‹€. λ‚˜λŠ” λ˜ν•œ @zanaptak이 μ œκ³΅ν•˜λŠ” μ ‘κ·Ό 방식을 μ’‹μ•„ν•©λ‹ˆλ‹€. μ™œλƒν•˜λ©΄ 당신이 무엇을 ν•˜κ³  μžˆλŠ”μ§€ λͺ¨λ₯΄κ³  CSSλ₯Ό μž‘μ„±ν•˜λŠ” μœ ν˜• μ•ˆμ „ 방법이 μ—†λŠ” ν•œ CSS에 μ›μ‹œ κ°’ μ‚¬μš©μ„ ꢌμž₯ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ‹€μ‹œ, μ‚¬μš©μž μ •μ˜ 값을 μ‚¬μš©ν•˜μ—¬ μ™ΈλΆ€ CSS와 interoping λ•Œ μœ„μ˜ μ‚¬μš© 사둀에 ν•΄ν‚Ή 같은 λŠλ‚Œμ΄ μ•ˆ 정도 ν•΄κ²° style.boxShadow(rawValue: string) κ³Όλ₯Ό μž‘μ„±ν•  λ•Œ λ‚˜λŠ” μš©μ΄μ„±μ΄ μˆ˜μ€€μ„ μ›ν•˜λŠ” 것이 더 λ§Žμ€ μ‚¬λžŒμ„ 상상 μ‚¬μš©μž μ •μ˜ κ°’.

두 가지 μ ‘κ·Ό 방식 λͺ¨λ‘ 쒋은 μ΄μœ κ°€ μžˆμŠ΅λ‹ˆλ‹€. 개인적으둜 μ €λŠ” style.boxShadow(rawValue: string) 의 이전 μ ‘κ·Ό 방식에 더 κΈ°λŒ€κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ£„μ†‘ν•©λ‹ˆλ‹€. 이번 주에 일 λ•Œλ¬Έμ— Feliz/Feliz.Mui와 κ΄€λ ¨λœ λ§Žμ€ 문제λ₯Ό λ…Όμ˜/μˆ˜μ •ν•  수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. μ΅œλŒ€ν•œ 빨리 이 문제둜 λŒμ•„κ°€μ„œ 이 λ¬Έμ œλ„ μ„ νƒν•˜λ €κ³  λ…Έλ ₯ν•©λ‹ˆλ‹€(λˆ„κ΅°κ°€κ°€ ν•΄κ²°ν•˜κΈ°λ₯Ό μ›ν•˜μ§€ μ•ŠλŠ” ν•œ μ—„μ²­λ‚œ)

ꢌμž₯λ˜λŠ” μœ ν˜• μ•ˆμ „ λ°©μ‹μœΌλ‘œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” λŒ€μ‹  많이 λ‚¨μš©λ©λ‹ˆλ‹€.

νŽ λ¦¬μ¦ˆλŠ” 개발자의 행볡을 μœ„ν•΄ μ‘΄μž¬ν•©λ‹ˆλ‹€. κ°œλ°œμžκ°€ ν˜•μ‹ μ•ˆμ „ μ˜€λ²„λ‘œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 것보닀 이λ₯Ό λ‚¨μš©ν•˜λŠ” 것이 더 ν–‰λ³΅ν•˜λ‹€λ©΄(ν•„μ—°μ μœΌλ‘œ κ·Έλ ‡κ²Œ μƒκ°ν•˜μ§€λŠ” μ•Šμ§€λ§Œ) μš°λ¦¬λŠ” μ •λ§λ‘œ 그것을 쀑지해야 ν• κΉŒμš”?

μ–΄μ¨Œλ“  μš°λ¦¬λŠ” λͺ¨λ“  μŠ€νƒ€μΌ μ†Œν’ˆμ— λŒ€ν•œ rawValue: string κ³ΌλΆ€ν•˜μ— λ‹€μ†Œ λ™μ˜ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. :)

νŽ λ¦¬μ¦ˆλŠ” 개발자의 행볡을 μœ„ν•΄ μ‘΄μž¬ν•©λ‹ˆλ‹€. κ°œλ°œμžκ°€ ν˜•μ‹ μ•ˆμ „ μ˜€λ²„λ‘œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 것보닀 이λ₯Ό λ‚¨μš©ν•˜λŠ” 것이 더 ν–‰λ³΅ν•˜λ‹€λ©΄(ν•„μ—°μ μœΌλ‘œ κ·Έλ ‡κ²Œ μƒκ°ν•˜μ§€λŠ” μ•Šμ§€λ§Œ) μš°λ¦¬λŠ” μ •λ§λ‘œ 그것을 쀑지해야 ν• κΉŒμš”?

λ™μ˜ν•©λ‹ˆλ‹€. μ‹€μ œλ‘œ λ¬Έμ œκ°€ λ˜μ§€λŠ” μ•Šμ§€λ§Œ λ„ˆλ¬΄ λ§Žμ€ 것을 μΆ”κ°€ν•˜μ—¬ λ°œμ— 총을 쏠 수 μžˆλ„λ‘ μ£Όμ˜ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 이 λ§₯λ½μ—μ„œ ν™•μ‹€νžˆ 그렇지 μ•ŠμŠ΅λ‹ˆλ‹€.

λ°œμ— 총을 쏘게 λ§Œλ“œλŠ” 것듀을 λ„ˆλ¬΄ 많이 μΆ”κ°€ν•˜λŠ” 것을 μ‘°μ‹¬ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

그것에 λŒ€ν•΄ μ ˆλŒ€μ μœΌλ‘œ λ‹Ήμ‹ κ³Ό ν•¨κ»˜ πŸ‘

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰