- Today
- Total
목록분류 전체보기 (136)
빵 입니다.
canvas 크기 조절 방법 HTML 요소의 width, height 속성 값을 스크립트로 조정한다. 👉🏻 canvas가 가진 픽셀 수 자체를 바꾸는 방법 CSS transform의 sclale 값을 조정한다. 📌 canvas를 그릴 때 숫자 값을 정수 처리해 줘야 그릴 때 성능이 더 좋아진다.
Tabindex는 HTML 속성이지만 카테고리를 웹 접근성으로 선택했다. 제대로 사용한다면 접근성에서 유용하게 쓰이기도 하고, 잘못 사용하면 접근성에 위배되기도 때문이다. Tabindex 속성을 사용하는 것은 문서의 자연스러운 흐름 방해하고, 웹 접근성에 위배되는 일이며 HTML을 깔끔하게 작업하지 못한 것을 증빙하는 일이라고 생각했었다. 또한, 과거엔 비표준 요소라 여겨졌었기 때문에 사용을 더욱 꺼렸었다. 그러나 요즘 웹상의 소스를 가져와 사용하면 tabindex를 이용해 초점을 맞추는 것을 심심찮게 볼 수 있다. 트렌드에 맞게 잘 사용하고 싶어서 tabindex를 파보았다. 가장 먼저 공식 문서의 Tabindex에 대한 설명을 읽어 보았다. MDN 한국어 버전과 MDN 영문 버전은 내용의 퀄리티 차..
회사에서 SCSS에서 rgba() 사용에 대한 질문을 받았다. rgba(red, green, blue, alpha); 혹은 rgba(aqua, 0.5); 막연하게 위의 내용처럼 사용하면 되는구나 생각했다. 만약 rgba 값으로 var() 함수를 이용해 사용자 지정 속성 사용하고 싶다면 어떻게 해야 할까? 그래서 테스트를 해보았다. // (O) color: rgba(red, 0.5); color: rgba(#ff0000, 0.5); color: rgba(#f00, 0.5); color: rgba(255, 0, 0, 0.5); color: rgba(rgb(255, 0, 0), 0.5); $red: #f00; color: rgba($red, 0.5); 색상명 HEX 코드 3자리 HEX 코드 풀어쓴 rgb 값 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dJ6fFI/btrMWdFKych/R8SuXqc09KXpvUbEjb8OFK/img.png)
template과 slot을 어떻게 쓸 수 있는지 너무 헷갈려서 검색해 보았다. 막연하게 사용했었는데, 위 두 태그가 HTML 태그 기반이라는 것을 알았다. 사용 방법은 Vue에서 사용하던 것과 같다. 다만, 좀 더 구체적으로 두 태그를 알게 되었다. HTML 태그 : 콘텐츠 template 요소 엘리먼트는 페이지를 불러온 순간 즉시 그려지지는 않지만, 이후 JavaScript를 사용해 인스턴스를 생성할 수 있는 HTML 코드를 담을 방법을 제공한다. (페이지가 load 될 때, HTML 코드 조각을 담아 놓는 안 보이는 요소이다.) 엘리먼트는 콘텐츠 조각을 나중에 사용하기 위해 담아놓는 컨테이너 페이지를 불러오는 동안 구문 분석기가 요소의 콘텐츠도 읽기는 하지만, 이는 유효성을 검증하기 위함이며 렌더링..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/4pSfr/btrLZRqCQ47/Jt9WupQvYidDohkiKNvTMk/img.png)
[2022. 09. 14] sass-migrator를 사용해서 이전 버전의 소스를 한 번에 변경해보자! Sass에서 @import를 사용하지 않고, @use와 @forward를 사용하는 이유를 공부했다. [1/2] @import 대신 @use 사용하자. 그럼 @forward 는? [2022. 08. 30] 이론부터 털어보자! @import와 @use는 여러 페이지에서 공통으로 사용할 mixing, function, variable을 가져와 사용하게 해준다. @import는 파일을 전역으로 가져오기 때문에 CSS 에러가 발생할 경. webduck.tistory.com 그렇다면 Sass 버전 업을 할 경우, 그 많은 소스를 어떻게 바꿔야 할까? 그 고민을 해결하기 위해 전체 소스를 한 번에 바꿀 수 있는 s..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tyht3/btrLc6tvvTV/5bzA2ZQIMWoVa1G9LRn0y1/img.jpg)
Splash Screen (스플래시 스크린) 앱 실행 시 가장 먼저 뜨는 화면 앱 실행 시 로딩 시간의 공백을 덜기 위해 배치한다. 앱의 아이덴티티를 보여주기도 하고, 간략한 소개나 광고를 진행하기도 한다. Coach Mark (코치 마크) 앱을 처음 사용하는 사용들에게만 보이는 화면 반투명한 화면 위에 앱의 사용 방법을 간략하게 설명해 준다. 초기 애플리케이션을 실행할 때만 볼 수 있도록 설계된다. Walkthrough (워크스루) 코치 마크와 유사하지만, 좀 더 자세한 매뉴얼이나 상세 도움말 등을 단계 별로 제공하는 화면 제품을 처음 사용하는 온보딩(Onboading) 과정에서 나타난다. 앱 내의 콘텐츠에 대한 홍보도 가능하다. 단계별 페이지이기 때문에 건너뛰기 또는 홈 바로 가기 버튼을 제공하는 것..
CSS 사용자 정의 속성 -- 접두사를 붙여 사용자 정의 속성 선언 후, var() 안에 사용자 정의 속성을 넣어 사용한다. :root { --first-color: #16f; --second-color: #ff7; } #firstParagraph { background-color: var(--first-color); color: var(--second-color); } CSS 스펙은 사용자 정의 속성 선언에서 거의 모든 문자열을 사용하는 것을 허용한다. CSS 속성에 대해 의미가 없을 수 있지만 JavaScript에서 액세스 할 수 있다. :root { --flex-theme: { border: 1px solid var(--theme-dark-blue); font-family: var(--theme-f..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cuc3FS/btrLQon4X1K/BI1q9uW2PB5LVc4nTOOqg0/img.png)
[2022. 08. 30] 이론부터 털어보자! @import와 @use는 여러 페이지에서 공통으로 사용할 mixing, function, variable을 가져와 사용하게 해준다. @import는 파일을 전역으로 가져오기 때문에 CSS 에러가 발생할 경우 문제 구간 파악이 어렵다. @use는 위 문제를 개선하기 위해 나온 규칙이다. @import 사용 방법 @import ‘mixin’; .box { @include box(200px, 200px); border: 1px solid red; } * Sass는 @import 규칙을 권장하지 않는다. 점차적으로 제거할 예정이다. @use 사용 방법 @use ‘mixin’; .box { @include mixin.box(200px, 200px); border: ..
DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0. Sass 내에서 일부는 /를 나누기 연산으로 처리하고, 다른 일부는 구분 기호로 처리한다. 사용자가 /의 의미를 구분하기 어렵고, 작업하기 어렵게 만든다. 나누기 대신 소수 곱하기 calc($val / 2) 대신 calc($val * 0.5)를 사용한다. => 소수의 값이 무한소수일 경우 대응이 어렵다. Sass 내장 함수 math.div() 사용하기 @use "sass:math"; 를 선언해서 내장 함수를 가져온다. * SassError: @use rules must be written before any other rules. =>..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcOtLN/btrKvbRuRrg/FKk7KCu1ly5SujtefMSEo1/img.png)
문제 에 있는 을 ref 로 가져오는데, 자꾸 null 찍힌다. => onMounted() 함수 안에서는 ref 값을 잘 가져온다. => setup() 안에 바로 변수를 만들어 할당한 후, section.value를 할당한다. 이유 setup()은 라이프 싸이클 중 create 시점에 실행되는데, 그 시점엔 을 읽기 전이다. 아직 html이 읽히지 않았기 때문에 항상 null 이 찍힌다. html DOM 가져오는 는 beforeMount 시점에 데이터를 가져온다. ref는 mounted 시점에 html 데이터를 가져올 수 있다. => 데이터 가져오는 시점보다 더 빨리 변수를 선언하니까 항상 null 문제 해결 1. setup에 변수를 선언만 해놓고, mount 될 때 데이터를 push해준다. 2. dom..