Ant-design: λ™μΌν•œ 높이 ν•­λͺ©

에 λ§Œλ“  2018λ…„ 01μ›” 28일  Β·  14μ½”λ©˜νŠΈ  Β·  좜처: ant-design/ant-design

이 κΈ°λŠ₯은 μ–΄λ–€ 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆκΉŒ?

μΉ΄λ“œ ꡬ성 μš”μ†Œλ₯Ό μ‚¬μš©ν•  λ•Œ λ™μΌν•œ 높이에 λŒ€ν•œ 지원을 μΆ”κ°€ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. λ§ˆμ°¬κ°€μ§€λ‘œ Row 및 Col을 μ‚¬μš©ν•  λ•Œ Row ν•­λͺ©μ˜ λͺ¨λ“  μžμ‹μ— λŒ€ν•΄ λ™μΌν•œ 높이에 λŒ€ν•œ 지원을 μΆ”κ°€ν•  수 μžˆλ‹€λ©΄ λ§Žμ€ λ ˆμ΄μ•„μ›ƒ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ œμ•ˆλœ APIλŠ” μ–΄λ–»κ²Œ μƒκ²ΌμŠ΅λ‹ˆκΉŒ?

<Row equal-heights> λ˜λŠ” 이와 μœ μ‚¬ν•œ 것

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

type="flex"와 ν•¨κ»˜ flexbox 지원 행을 μ‚¬μš©ν•˜κ³  μ—΄ λ‚΄μš©μ—μ„œ 높이λ₯Ό 100%둜 μ„€μ •ν•˜λ©΄ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

<Row gutter={16} type="flex">

https://ant.design/components/grid/#ν–‰

image

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

이해가 μ•ˆ λΌμš”οΌŒ a lot of layout issues 은(λŠ”) 무슨 λœ»μΈκ°€μš”?

Row height === max(Col height) λ”°λΌμ„œ λ ˆμ΄μ•„μ›ƒ λ¬Έμ œκ°€ λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. https://codesandbox.io/s/my8p6vk7wj

μ—΄(및 기타 μš”μ†Œ)을 ν–‰ λ‚΄λΆ€μ˜ 높이와 λ™μΌν•˜κ²Œ λ§Œλ“œλŠ” κΈ°λŠ₯을 μΆ”κ°€ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

κ·€ν•˜μ˜ μ˜ˆλŠ” ν˜„μž¬ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

screen shot 2018-01-29 at 09 33 56

κ·ΈλŸ¬λ‚˜ <Row equal-heights> λ₯Ό μΆ”κ°€ν•˜λ©΄ λ‚΄μš©μ΄ λ‹€μŒκ³Ό 같이 ν‘œμ‹œλ©λ‹ˆλ‹€.

screen shot 2018-01-29 at 09 35 56

κ·Έλ ‡κ΅°μš”... κ·ΈλŸ΄μ‹Έν•΄ λ³΄μž…λ‹ˆλ‹€.

vertical-fill ν˜ΈμΆœν•˜λŠ” 것이 더 λ‚«μŠ΅λ‹ˆκΉŒ?

μš°λ¦¬λŠ” 이것이 ν•„μš”ν•˜μ§€ μ•Šλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μ–΄λ¦°μ΄μ˜ ν‚€λŠ” μ–΄λ¦°μ΄μ˜ μ½˜ν…μΈ  λ˜λŠ” μŠ€νƒ€μΌμ— λ§‘κ²¨μ•Όν•©λ‹ˆλ‹€.

@yutingzhao1991 @ddcat1115 같은 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. λˆ„κ΅¬μ—κ²Œλ‚˜ 그에 λŒ€ν•œ 해결책이 μžˆμŠ΅λ‹ˆκΉŒ?

이 λ¬Έμ œμ— λŒ€ν•œ ν•΄κ²° 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

μ•„λ‹ˆμš”

type="flex"와 ν•¨κ»˜ flexbox 지원 행을 μ‚¬μš©ν•˜κ³  μ—΄ λ‚΄μš©μ—μ„œ 높이λ₯Ό 100%둜 μ„€μ •ν•˜λ©΄ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

<Row gutter={16} type="flex">

https://ant.design/components/grid/#ν–‰

image

κ³ λ§ˆμ›Œμš” μ•¨λΉˆ. type='flux'둜 μ„€μ •ν•˜λ©΄ νš¨κ³Όμ μž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ—΄ λ‚΄μš©μ—μ„œλ„ 높이λ₯Ό 100%둜 μ„€μ •ν•˜λŠ” 것을 μžŠμ§€ λ§ˆμ‹­μ‹œμ˜€. μ—΄ μžμ²΄κ°€ μ•„λ‹ˆλΌ μ—΄ μ•„λž˜μ˜ ꡬ성 μš”μ†Œμ—¬μ•Ό ν•©λ‹ˆλ‹€.

λ‚΄ κ·Έλ¦¬λ“œμ— μΉ΄λ“œκ°€ μžˆμŠ΅λ‹ˆλ‹€. ν–‰ μœ ν˜•μ„ "ν”ŒλŸ­μŠ€"둜 μ„€μ •ν•˜κ³  μΉ΄λ“œμ˜ 높이λ₯Ό "100%"(이 μŠ€λ ˆλ“œμ—μ„œ μ œμ•ˆν•œ λŒ€λ‘œ)둜 μ„€μ •ν•˜λ©΄ 각 μΉ΄λ“œκ°€ ν–‰μ˜ 전체 높이λ₯Ό μ±„μš΄λ‹€λŠ” μ˜λ―Έμ—μ„œ μ™„λ²½ν•˜κ²Œ μž‘λ™ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μΉ΄λ“œμ˜ μž‘μ—… ν‘œμ‹œμ€„μ€ 더 이상 ν–‰ 맨 μ•„λž˜μ— μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

image

ν–‰ λ†’μ΄λ‘œ ν™•μž₯되고 ν–‰ 맨 μ•„λž˜μ— μΉ΄λ“œ μž‘μ—… λ²„νŠΌμ΄ μžˆλŠ” κ·Έλ¦¬λ“œμ— μΉ΄λ“œλ₯Ό ν‘œμ‹œν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν•©λ‹ˆκΉŒ?

메타 νƒœκ·Έμ—μ„œ 클래슀λ₯Ό μΆ”κ°€ν•˜κ³  κ³ μ • 높이λ₯Ό 지정할 수 μžˆμŠ΅λ‹ˆλ‹€. μ’‹λ‹€

<Card>
 <Meta  
  className="cardBodyStyle"
  title={key.title}
  description={key.description}
 />
</Card>

CSS:

.cardBodyStyle {
    height: 100px;
}

type="flex"와 ν•¨κ»˜ flexbox 지원 행을 μ‚¬μš©ν•˜κ³  μ—΄ λ‚΄μš©μ—μ„œ 높이λ₯Ό 100%둜 μ„€μ •ν•˜λ©΄ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

<Row gutter={16} type="flex">

https://ant.design/components/grid/#ν–‰

image

이것은 μ˜¬λ°”λ₯Έ λ°©λ²•μž…λ‹ˆλ‹€

이 μ ‘κ·Ό 방식을 μ‚¬μš©ν•˜μ—¬ μžμ‹ λ…Έλ“œλ₯Ό μ‚¬μš© κ°€λŠ₯ν•œ λͺ¨λ“  곡간(수직 및 μˆ˜ν‰)으둜 λŠ˜λ¦½λ‹ˆλ‹€.

<Row gutter={16}>
    <Col span={12} style={{display: 'flex'}}>
        <Card style={{flex:1}}>
            1<br/>2<br/>3
        </Card>
    </Col>
    <Col span={12} style={{display: 'flex'}}>
        <Card style={{flex:1}}>
            1<br/>2
        </Card>
    </Col>
</Row>

λ‚˜λ₯Ό μœ„ν•΄ 이듀 쀑 μ–΄λŠ 것도 μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 해결책은 height: 100% λ₯Ό μ œκ±°ν•˜κ³  Col νƒœκ·Έμ— display: inline-flex 및 align-self: stretch λ₯Ό μ„€μ •ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. Col 내뢀에 μ—¬λŸ¬ μš”μ†Œκ°€ μžˆλŠ” 경우 Col에 μžμ‹μ΄ ν•˜λ‚˜λ§Œ μžˆλ„λ‘ λ‹€λ₯Έ μ»¨ν…Œμ΄λ„ˆμ— μš”μ†Œλ₯Ό λž˜ν•‘ν•΄μ•Ό ν•©λ‹ˆλ‹€.

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