Post

코코아톡 클론코딩(7일차)

하루 빼먹었다.. 꾸준히 하는게 중요하니까 이런 걸로 괜히 스트레스받지 말자~~~

BEM 방식과, 다른 방식(id 등을 이용하는)을 같이 이용해보았는데. 코드를 직접 작성해보니, BEM 이 조금 더 코드를 작성하기에 편할 것 같다! 복잡하지 않고 단순해서 좋을 것 같아서 BEM 으로 작성을 해보자!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
@import "./reset.css";
@import "./status-bar.css";
@import "./variables.css";

body {
  font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
}

.welcome-header {
  display: flex;
  text-align: center;
  margin: 90px 0px;
  flex-direction: column;
  align-items: center;
}

.welcome-header__title {
  margin-bottom: 20px;
  font-size: 25px;
}

.welcome-header__text {
  width: 60%;
  opacity: 0.7;
}

/* 여기까지가 BEM */

#login-form {
  display: flex;
  flex-direction: column;
  margin: 0px 30px;
}

#login-form input {
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding: 15px 0px;
  font-size: 16px;
  margin-bottom: 15px;
}

#login-form::placeholder {
  color: rgba(0, 0, 0, 0.4);
}

#login-form input:not([type="submit"]):focus {
  transition: border-color 0.3s ease-in-out;
  border-color: var(--yellow);
}

#login-form input[type="submit"] {
  background-color: var(--yellow);
  cursor: pointer;
  font-size: 14px;
  border-radius: 5px;
  border: none;
}

#login-form a {
  text-align: center;
  text-decoration: none;
  color: inherit;
  font-size: 15px;
}

“:” 과 “::”의 차이. → “:” 는 가상 클래스(pseudo-class)를 지정하는 것이라고 함. 이것보단 state 와 관련된 것으로 생각하면 좋을 것 같다. (focus 와 같은 것들) → “::” 는 가상 요소(pseudo-element)를 지정하는 것. attribute 와 관련된 것으로 생각해보자.(placeholrder 와 같은 것들)

  #login-form input:not([type="submit"]):focus {
    transition: border-color 0.3s ease-in-out;
    border-color: var(--yellow);
  }

위 코드는 BEM 방식을 사용하지 않고, 요소를 선택한 것이다. 나는 이것이 직관적이지 않아보여 BEM 을 사용하기로 했다!

  body {
    font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
  }

  .test {
    text-align: center;
    font-size: 15px;
  }
  ```

```HTML
  <div>
    <span>asdf</span>
    <a href="#" class="test">asdfsdf</a>
  </div>
  body {
    font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
    text-align: center;
  }

  .test {
    font-size: 15px;
  }
  <div>
    <span>asdf</span>
    <a href="#" class="test">asdfsdf</a>
  </div>

text-align 이 어떤 속성인지 이해가 잘 되지 않아서, 위 두가지 예시를 확인해보았다. div > a(class=“test”) 를 가운데 정렬로 만들고 싶었음. 그래서 첫 번째를 시도했는데 아무런 변화가 없었고, 두 번째 코드로 변경하니 가운데로 옮겨짐. → 찾아보니 text-align 은 block 요소 내부에 있는 inline 요소의 위치를 조정하는 것이라고 함. 정렬하기 원하는 요소에 직접 text-align 을 적용하는 게 아니고 block 요소인 부모에게 설정할 것! 뭐 div 로 가두면 걔만 설정할 수 있을듯??

This post is licensed under CC BY 4.0 by the author.