우리는 아직 우리가 그날 본 CSS를 완전히 이해했는지 모른다.
우리는 아직 우리가 그날 본 CSS를 완전히 이해했는지 모른다.
엔지니어계의'완전히 이해했다'는 말에는 실제 이해가 아닌 경우가 많다.(일본어 어려워요...)
'완전히 이해했다'중 가장 유명하다고 해도 과언이 아니다.'CSS를 완전히 이해했다'는 말이 있다.이것은 아래 그림처럼 티셔츠로 판매합니다.
이것을 보고 나는 몇 가지 의문이 있다.
그래서 이번에는 CSS를 완전히 이해했다는 보도를 실제로 시도한 것이다.
CSS 전체 이해 만들기
네, 실제로 HTML과 CSS로 만들죠.이번에는 다섯 가지 모드를 만들어 보았다.
다른 방법도 있었지만 생각지도 못했어요.다른 방법을 아시는 분들은 댓글로 알려주세요(웃음)
전제 조건
제작 시 전제는 다음과 같다.
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="destyle.css">
<link rel="stylesheet" type="text/css" href="style.css">
<title>CSS完全に理解した!</title>
</head>
<body>
<p class="pattern">パターンX</p>
<div class="wrapper">
<div class="content">
<p>CSS</p>
<p>完全に理解した</p>
</div>
</div>
</body>
</html>
<p class="pattern">パターンX</p>
의 X는 1~5를 포함한다.가능
<p>CSS<br>完全に理解した</p>
.destyle.css
를 맞혔다.destyle.css
의 내용은 생략한다.style.css
에 CSS를 기록합니다.1. "CSS 완전 이해"의 width를 설정하고 margin을 통해 초과
CSS 전체 이해의 width를 문자가 접히지 않는 너비로 설정합니다.이번에는
width: 100%
로 부모님의 넓이를 지정했다.그리고 margin-left: 52px
딱 오른쪽에 있어요.(52px로서 그림에서 보듯이 오른쪽 종선이''중간을 관통하는 너비를 지정함)style.css
@charset "utf-8";
body {
margin-top: 40px;
padding: 0 4%;
font-size: 1.6rem;
}
.pattern {
margin-bottom: 8px;
font-weight: bold;
}
/*パターン1*/
.wrapper {
width: 220px;
height: 100px;
padding: 8px 0 16px 24px;
border: 2px solid black;
border-radius: 8px;
}
.content {
width: 100%;
margin-left: 52px;
}
결과야.상기 CSS의
body
와 .pattern
는 공통적이며 아래는 생략한다.2.white-space:nowrap은 되돌아오지 못하게 한다
white-space: nowrap
를 지정하여 문자 서라운드를 해제할 수 있습니다.그리고 Margin으로 위치를 조정합니다.style.css
.wrapper {
display: inline-block;
width: 220px;
height: 100px;
padding: 8px 0 16px 24px;
border: 2px solid black;
border-radius: 8px;
}
.content {
white-space: nowrap;
margin-left: 52px;
}
결과야.3. position: absolute로 구성
위치를
position: absolute
로 정렬합니다.되돌림을 피하기 위해 width를 설정합니다.style.css
.wrapper {
display: inline-block;
position: relative;
width: 220px;
height: 100px;
border: 2px solid black;
border-radius: 8px;
}
.content {
position: absolute;
width: calc(100%);
top: 8px;
left: 76px;
}
결과야.4.transform:translateX 구성
위치를
transform: translateX(xx)
로 정렬합니다.translateX로 요소를 수평으로 재배치하기 때문에 width를 지정할 필요가 없습니다.style.css
.wrapper {
display: inline-block;
width: 220px;
height: 100px;
padding: 8px 0 16px 24px;
border: 2px solid black;
border-radius: 8px;
}
.content {
transform: translateX(52px);
}
결과야.5.flex-shrink:0 반환 불가
전체
display: flex
로 그 자요소flex-shrink: 0
로 하면 이 프로젝트는 수축되지 않는다.그리고 Margin으로 위치를 조정합니다.style.css
.wrapper {
display: flex;
width: 220px;
height: 100px;
padding: 8px 0 16px 24px;
border: 2px solid black;
border-radius: 8px;
}
.content {
flex-shrink: 0;
margin-left: 52px;
}
결과야.결론
위에서 설명한 바와 같이 CSS를 조금만 알아도 가능한 방법으로 구현되었습니다.
처음에 언급한 아래의 답안은 내 마음속에 이미 명확해졌다.
총결산
'CSS를 완전히 이해했다','CSS를 완전히 이해했다'를 제작했다.
이것은 단지 나 개인의 의견일 뿐이다.
※ 그나저나 저는 이'CSS를 완전히 이해한다'는 단락을 매우 좋아합니다.(이번엔 티셔츠 삽니다.)
Reference
이 문제에 관하여(우리는 아직 우리가 그날 본 CSS를 완전히 이해했는지 모른다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/web_tips/articles/19724285e49597텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)