https://nykim.work/84

 

반응형 웹 뚝딱 만들기 (1) - 뷰포트 메타태그와 미디어 쿼리

이 글은 공동 기술 블로그(tech.yeon.me)에도 올린 글입니다. (여기에서도 숨겨진 좋은 글을 발견할지도 몰라요!) 프롤로그 모바일 사용자가 점점 늘어나는 요즘 반응형으로 만든 웹 사이트를 쉽게

nykim.work

https://nykim.work/85

 

반응형 웹 뚝딱 만들기 (2) - vw, vh, vmin, vmax, em, rem 속성

프롤로그 지난 글에는 반응형을 위해 필요한 뷰포트 메타태그와 미디어 쿼리에 대해 다뤘었는데, 이번에는 CSS 속성을 통해 좀 더 편하고 쉽게 반응형을 만드는 방법을 알아보려고 합니다 🤟 히

nykim.work

https://velog.io/@cheal3/%EB%B0%98%EC%9D%91%ED%98%95-%EC%9B%B9%EA%B3%BC-%EB%B7%B0%ED%8F%AC%ED%8A%B8

 

반응형 웹과 뷰포트

반응형 웹 나중에는 기술의 발전으로 데스크톱 뿐만 아니라 스마트폰, 태블릿 컴퓨터, 텔레비전 등 대부분의 전자기기에서 웹에 접속 할 수 있게 되었지만, 전자기기들의 화면의 크기가 다른 탓

velog.io

 

날리게 되어 슬픈 마음에 작성중

labelColor = "#1ab394";
labelColor = "#D9556E";
labelColor = "#FF7D95";
labelColor = "#F5B345";
labelColor = "#6B5A3E";
labelColor = "#B3EB44";
labelColor = "#5C6B3F";
labelColor = "#B369F0";
labelColor = "#5C4D69";
labelColor = "#D97C5F";
labelColor = "#B56750";
labelColor = "#5A8AE8";
labelColor = "#5580D9";
labelColor = "#4F45F5";
labelColor = "#0598E6";
labelColor = "#000000";

1. 동적으로 datalist option을 추가하기

HTML

<div>
	<input id="snack" name="snack" list="snackList" type="text"/>
	<datalist id="snackList">
	</datalist>
	<input type="hidden" name="snack" id="snack-hidden">
</div>

JS

var snackData = {};

var snackListOpt = [];


//최초 설정
function addSnackOpt(){
	//response는 받아온 값
  response.forEach(function(res){
  		//data-value가 보낼 값, value가 보여질 값.
      var tmpStr = `<option data-value="${res.money}" value="${res.name}"></option>`
      snackListOpt.push(tmpStr);
  });
  $('#snackList').append(snackListOpt);


  $('#snackList option').each(function(i,el){
      snackData[$(el).data("value")] = $(el).val();
  });
}


//실제 전송할 때
function realValue(){
    var snackMoney = $('#snack').val().trim();
    snackMoney = $('#snackList [value="'+snackMoney+'"]').data('value');
    return snackMoney;
 }

 

삽질이 힘들었다.

 

 

[참고 블로그]

1. https://cbw1030.tistory.com/293

 

[JavaScript] select box에 동적으로 option을 추가해보자

오늘은 팀 프로젝트를 하면서 약간의 삽질을 하면서 알게된 select box에 option을 추가하는 방법을 포스팅하겠습니다. 서울 부산 제주 경기 인천 강원 경상 전라 충청 왼쪽 select box의 값에 매칭되는

cbw1030.tistory.com

2. http://jsfiddle.net/guest271314/j7ehtqjd/13/

#1. 내맘대로 봄

#a490ff / #ff90d1/ #bcff90

 

파스텔 톤. 배경으론 적절치 않다. 특히 초록색 배경에 하얀 글자를 넣으면 대체적으로 보이지 않는 편이다. 너무 예쁜 보라색을 발견해서 넣어봤다.

 

 

#1.5. 내맘대로 봄- 배경

 

#735bff / #ff5bbb / #a5ff5b

 

위의 색을 좀 더 찐하게 한 것. 배경으로 적절하지만 프로젝트랑은 안어울려서 기각. 초록색에 하얀 글자가 마찬가지로 잘 안보인다.

 

 

#2. 국룰 무지개

#ff5e6b / #ff9c40 / #5ce294 / #57abfa / #d690ff

 

배경으로 쓰기 좋은 원색 뙇 컬러. 하얀 글자 넣어도 잘 보임.

회색은 #e0e0e0, 검정은 #222222 가 어울린다.

 

 

 

노란색 잘쓰기 정말 힘들다.초록색은 배경으로 쓰기 정말 한정적이다.분홍색은 참 대단한 색이다. 뭘 하던 분위기를 핑크핑크하게 만든다.

 

문자열을 자를 때, 무심코 음절 갯수로 subString으로 자르게 되면

한글 + 영문 혼용의 상황에서, 굉장히 불편한 상황을 마주할 수 있다.

 

같은 여섯글자일 때, 한글과 영어가 각각

여섯글자입니다

abcde

로 보이는 현상을 마주할 수 있다. 

 

본인은 정해진 넓이의 칸에 글자가 넘치면 자르는 함수를 만드려고 했는데,

글자가 아니라 byte 단위로 잘라야 편안한 UI를 볼 수 있다.

(초보 개발자지만 이런 디테일에 신경쓰는 저, 비정상인가요?)

 

자르는 방법은 아래와 같다.

 

    var textEllipsis = function(data, offset){ //data: 자르고자 하는 str, offset: 자르는 byte 길이
        dataByteLength = (function(s,b,i,c){ //data의 길이를 byte로 변환한다
            for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?3:c>>7?2:1);
            return b;
        })(data);

        if(dataByteLength > offset){
            for(b=i=0;c=data.charCodeAt(i);) {
                b+=c>>7?2:1;
                if(b > offset) break;
                i++;
            }
            return data.substring(0,i)+'…';
        }else{
            return data;
        }
    }

 

 

[참고 블로그]

https://programmingsummaries.tistory.com/239

https://zionh.tistory.com/68

+ Recent posts