Box

Box คือ view layout พื้นฐานที่ใช้สำหรับสร้างดีไซน์หรือลักษณะเฉพาะของ child view

Source Code

ReactJs Styled Components
Copy
import styled from "styled-components";
export default function Box({
  as,
  width,
  height,
  children,
  padding,
  paddingLeft,
  paddingRight,
  paddingTop,
  paddingBottom,
  margin,
  marginLeft,
  marginRight,
  marginTop,
  marginBottom,
  boxShadow,
  backgroundColor,
  borderWidth,
  borderColor,
  borderRadius,
  border,
  borderTop,
  borderBottom,
  borderLeft,
  borderRight,
  display = "flex",
  justify,
  align,
  style,
  shrink,
  glow,
  wrap,
  borderStyle,
  className,
}) {
  return (
    <BoxStyled
      as={as}
      style={style}
      className={className}
      $display={display}
      $justify={justify}
      $align={align}
      $borderStyle={borderStyle}
      $border={border}
      $borderRight={borderRight}
      $borderLeft={borderLeft}
      $borderBottom={borderBottom}
      $borderTop={borderTop}
      $borderRadius={borderRadius}
      $borderColor={borderColor}
      $borderWidth={borderWidth}
      $margin={margin}
      $marginRight={marginRight}
      $marginLeft={marginLeft}
      $marginBottom={marginBottom}
      $marginTop={marginTop}
      $backgroundColor={backgroundColor}
      $boxShadow={boxShadow}
      $padding={padding}
      $paddingRight={paddingRight}
      $paddingLeft={paddingLeft}
      $paddingBottom={paddingBottom}
      $paddingTop={paddingTop}
      $width={width}
      $height={height}
      $shrink={shrink}
      $glow={glow}
      $wrap={wrap}
    >
      {children}
    </BoxStyled>
  );
}
export const BoxStyled = styled.div`
  flex-shrink: ${({ $flexShrink }) => $flexShrink};
  flex-grow: ${({ $flexGlow }) => $flexGlow};
  flex-wrap: ${({ $wrap }) => $wrap};
  display: ${({ $display }) => $display};
  justify-content: ${({ $justify }) => $justify};
  align-items: ${({ $align }) => $align};
  border-style: ${({ $borderStyle }) => $borderStyle};
  border: ${({ border }) => border};
  border-right: ${({ $borderRight }) => $borderRight};
  border-left: ${({ $borderLeft }) => $borderLeft};
  border-bottom: ${({ $borderBottom }) => $borderBottom};
  border-top: ${({ $borderTop }) => $borderTop};
  border-radius: ${({ $borderRadius }) => $borderRadius};
  border-color: ${({ $borderColor }) => $borderColor};
  border-width: ${({ $borderWidth }) => $borderWidth};
  background-color: ${({ $backgroundColor }) => $backgroundColor};
  box-shadow: ${({ $boxShadow }) => $boxShadow};
  margin: ${({ $margin }) => $margin};
  margin-right: ${({ $marginRight }) => $marginRight};
  margin-left: ${({ $marginLeft }) => $marginLeft};
  margin-top: ${({ $marginTop }) => $marginTop};
  margin-bottom: ${({ $marginBottom }) => $marginBottom};
  padding: ${({ $padding }) => $padding};
  padding-right: ${({ $paddingRight }) => $paddingRight};
  padding-left: ${({ $paddingLeft }) => $paddingLeft};
  padding-top: ${({ $paddingTop }) => $paddingTop};
  padding-bottom: ${({ $paddingBottom }) => $paddingBottom};
  width: ${({ $width }) => $width};
  height: ${({ $height }) => $height};
`;

Usage

ReactJs Styled Components
Copy
import Box from "../../example/Box";

export default function TestView() {
  return (
    <div className="test-view">
      <Box
        width={"300px"}
        padding={"30px"}
        backgroundColor={"var(--primary)"}
        borderRadius={"80px"}
      >
        This is Style Box
      </Box>
    </div>
  );
}

Properties

Property

Description

Type

Default

as

เปลี่ยนชนิดของ tag

width

ความกว้างเนื้อหาของ view

string

height

ความสูงเนื้อหาของ view

string

children

children views

ReactElement

padding

พื้นที่ว่างระหว่างเส้นขอบทั้ง 4 ด้านของ view และ เนื้อหาของ view

string

paddingLeft

พื้นที่ว่างระหว่างเส้นขอบด้านซ้ายของ view และ เนื้อหาของ view

string

paddingRight

พื้นที่ว่างระหว่างเส้นขอบด้านขวาของ view และ เนื้อหาของ view

string

paddingTop

พื้นที่ว่างระหว่างเส้นขอบด้านยบนของ view และ เนื้อหาของ view

string

paddingBottom

พื้นที่ว่างระหว่างเส้นขอบด้านล่างของ view และ เนื้อหาของ view

string

margin

พื้นที่ว่างระหว่างขอบนอกสุดทั้ง 4 ด้านของ view และ view อื่น

string

marginLeft

พื้นที่ว่างระหว่างขอบนอกสุดด้านซ้ายของ view และ view อื่น

string

marginRight

พื้นที่ว่างระหว่างขอบนอกสุดด้านขวาของ view และ view อื่น

string

marginTop

พื้นที่ว่างระหว่างขอบนอกสุดด้านบนของ view และ view อื่น

string

marginBottom

พื้นที่ว่างระหว่างขอบนอกสุดด้านล่างของ view และ view อื่น

string

boxShadow

ลักษณะเงาของ view

string

backgroundColor

สีพื้นหลังของ view

string

borderWidth

ความหนาเส้นขอบนอกสุดของ view

string

borderColor

สีเส้นขอบนอกสุดของ view

string

borderRadius

ความโค้งมนของ view

string

border

กำหนดลักษณะเส้นขอบนอกสุดทั้ง 4 ด้านของ view

string

borderTop

กำหนดลักษณะเส้นขอบนอกสุดด้านบนของ view

string

borderBottom

กำหนดลักษณะเส้นขอบนอกสุดด้านล่างของ view

string

borderLeft

กำหนดลักษณะเส้นขอบนอกสุดด้านซ้ายของ view

string

borderRight

กำหนดลักษณะเส้นขอบนอกสุดด้านขวาของ view

string

display

คุณลักษณะในการแสดงผล

string

"flex"

justify

ลักษณะการเรียงตัวของ children views ในแนวแกนหลัก

string

align

ลักษณะการเรียงตัวของ children views ในแนวแกนตรงข้าม

string

style

inline style ของ view

CSSProperties

shrink

ความหดตัวของ view

number

glow

ความขยายตัวของ view

number

wrap

ลักษณะการจัดเรียง children ให้อยู่ในแนวเดียวกันหรือตกไปบรรทัดใหม่

string

borderStyle

ลักษณะเส้นขอบนอกสุดของ view

string

className

ใช้กำหนดลักษณะเฉพาะของ view

string

Requirements

styled-components

ยักซ่า (Yakxar)
สร้างสรรค์และแบ่งปันสื่อดิจิทัลง่ายๆ ที่นี่
© 2025 ยักซ่า (Yakxar)