출처: 

https://codingbroker.tistory.com/127

 

[HTML, CSS] 스크롤바 생성 overflow (auto, scroll, hidden)

css속성 overflow로 스크롤바 생성을 제어할 수 있습니다. (가로축 overflow-x, 세로축 overflow-y, 모두: overflow) overflow: visible overflow를 설정하지 않을때 적용되는 default 값입니다. 하위 콘텐츠의 내..

codingbroker.tistory.com

 

 

css속성 overflow로 스크롤바 생성을 제어할 수 있습니다.

(가로축 overflow-x, 세로축 overflow-y, 모두: overflow)

 

overflow: visible

overflow를 설정하지 않을때 적용되는 default 값입니다.

하위 콘텐츠의 내용이 컨테이너를 벗어나도 그대로 출력합니다.

<div style="height: 300px"> 
  <div style="height: 200px; background: red">red</div>
  <div style="height: 200px; background: orange">orange</div>
  <div style="height: 200px; background: yellow">yellow</div>
</div>

하위 콘텐츠의 총 길이(200+200+200=600px)가 컨테이너의 길이(300px)를 초과했지만

그대로 출력되었습니다.

 

눈에 보이지 않는 실제 컨테이너의 범위는 이렇습니다.

 

 

overflow: auto

하위 콘텐츠의 길이가 컨테이너의 길이를 초과했을 때 스크롤을 생성합니다.

(초과하지 않으면 생성하지 않음)

<!-- overflow: auto -->
<div style="height: 300px; overflow: auto"> 
  <div style="height: 200px; background: red">red</div>
  <div style="height: 200px; background: orange">orange</div>
  <div style="height: 200px; background: yellow">yellow</div>
</div>

컨테이너에 스크롤이 생성되었습니다.

 

※컨테이너의 길이를 지정하지 않은 경우에는 초과해도 스크롤이 생성되지 않습니다.

=>하위 컨텐츠의 길이에 따라 컨테이너의 길이가 늘어나기 때문

<!-- overflow: auto / no height -->
<div style="overflow: auto"> 
  <div style="height: 200px; background: red">red</div>
  <div style="height: 200px; background: orange">orange</div>
  <div style="height: 200px; background: yellow">yellow</div>
</div>

 

overflow: hidden

하위 콘텐츠의 길이가 컨테이너의 길이를 초과하면 초과한 부분을 숨깁니다.

<!-- overflow: hidden -->
<div style="height: 300px; overflow: hidden"> 
  <div style="height: 200px; background: red">red</div>
  <div style="height: 200px; background: orange">orange</div>
  <div style="height: 200px; background: yellow">yellow</div>
</div>

※마찬가지로 컨테이너의 길이를 지정하지 않으면

컨테이너가 하위 콘텐츠의 길이에 따라 늘어나기 때문에 숨겨지지 않습니다.

<!-- overflow: hidden / no height -->
<div style="overflow: hidden"> 
  <div style="height: 200px; background: red">red</div>
  <div style="height: 200px; background: orange">orange</div>
  <div style="height: 200px; background: yellow">yellow</div>
</div>

 

 

overflow: scroll

하위 컨텐츠의 길이에 상관없이 컨테이너에 스크롤바를 생성합니다.

 

하위컨텐츠의 길이가 컨테이너의 길이보다 작을때는 스크롤바가 작동하지 않고하위컨텐츠의 길이가 컨테이너의 길이를 초과했을 때부터 스크롤바가 작동합니다.

 

overflow: overlay

overflow: auto와 동일하게 동작하지만 스크롤바가 하위콘텐츠 위에 덮어쓰입니다.

 

1) overflow: auto 의 하위 콘텐츠 red

<!-- overflow: auto -->
<div style="height: 300px; overflow: auto"> 
  <div style="height: 200px; background: red">red</div>
  <div style="height: 200px; background: orange">orange</div>
  <div style="height: 200px; background: yellow">yellow</div>
</div>

red 콘텐츠 가로길이가 962.4

 

 

2) overflow: overlay 의 하위 콘텐츠 red

<!-- overflow: overlay -->
<div style="height: 300px; overflow: overlay"> 
  <div style="height: 200px; background: red">red</div>
  <div style="height: 200px; background: orange">orange</div>
  <div style="height: 200px; background: yellow">yellow</div>
</div>

red 콘텐츠 가로길이가 979.2

 

스크롤바가 실제영역을 차지하지 않고 position: fixed와 비슷하게 red콘텐츠 위에 덮어씌워졌습니다.

		// sql 오류시 리다이렉트
		if (empty($data)) {
			redirect(base_url()."이동할 주소");
		}

 

전체선택 또는 전체선택 해제

	function resetAll (checkid) {
        if ($("#" + checkid).is(':checked')) {
            $("input[type=checkbox]").prop("checked", true);
        } else {
            $("input[type=checkbox]").prop("checked", false);
        }
    }​

초기화 버튼

	function resetAll (checkid) {
        if ($("#" + checkid).is(':checked')) {
            $("input[type=checkbox]").prop("checked", false);
        } 
    }

 

 

 

 

// 방법 1
"가나다라<? echo $변수명 ?>마바사" 

// 방법 2 
"가나다라".<? echo $변수명 ?>."마바사"

// 방법 3
"가나다라{$변수명}마바사"

 

 

'코딩 공부 > PHP' 카테고리의 다른 글

[php] - 전화번호 하이픈 추가  (0) 2022.02.28
php 리다이렉트  (0) 2022.01.07
PHP array_slice 사용법  (0) 2021.12.28
php - post값 중 일부 문자열로 잘라서 데이터 전송  (0) 2021.12.22
php - strftime format  (0) 2021.12.06


오늘 :

WHERE t_date=CURDATE();


내일 :

WHERE t_date=CURDATE() + INTERVAL 1 DAY;


어제 :

WHERE t_date=CURDATE() - INTERVAL 1 DAY;



		<ul class="" style="">
			<li>
				<input type="checkbox" name="inAll" 
                onclick='checkSelectAll(event)' value="inAll" id="1">
				<label for="1">전체</label>
			</li>
			<li>
			<input type="checkbox" name="in[]" class="in" 
            onclick='selectAll1(this)' value="1" id="2">
			<label for="2">1</label>
			</li>
			<li>
				<input type="checkbox" name="in[]" class="in"
                onclick='selectAll1(this)' value="2" id="3">
				<label for="3">2</label>
			</li>
			<li>
				<input type="checkbox" name="in[]" class="in" 
                onclick='selectAll1(this)' value="3" id="4">
				<label for="4">3</label>
			</li>
			<li>
				<input type="checkbox" name="in[]" class="in" 
                onclick='selectAll1(this)' value="4" id="5">
				<label for="5">4</label>
			</li>
		</ul>

   // .in은 class 를 써주기
   function checkSelectAll(e)  {
		if(e.target.checked) {
			document.querySelectorAll(".in").forEach(function(v, i) {
				v.checked = false;
			});
		} else {
			document.querySelectorAll(".in").forEach(function(v, i) {
				v.checked = false;
			});
		}
	}
	function selectAll1(selectAll)  {
		let checkCount = 0;
		document.querySelectorAll(".in").forEach(function(v, i) {
			if(v.checked === false){
				checkCount++;
			}
		});
		if(checkCount>0) {
			document.getElementById("1").checked = false;
		} else if(checkCount === 0) {
			document.getElementById("1").checked = true;
            document.querySelectorAll("." + classname).forEach(function(v, i) {
				v.checked = false;
			});
		}
	}

html

		<ul class="" style="">
			<li>
				<input type="checkbox" name="nameval" onclick='checkOnlyOne1(this)' value="0" id="1">
				<label for="1">전체</label>
			</li>
			<li>
			<input type="checkbox" name="nameval" onclick='checkOnlyOne1(this)' value="1" id="2">
			<label for="2">선택1</label>
			</li>
			<li>
				<input type="checkbox" name="nameval" onclick='checkOnlyOne1(this)' value="2" id="3">
				<label for="3">선택2</label>
			</li>
			<li>
				<input type="checkbox" name="nameval"onclick='checkOnlyOne1(this)'  value="3" id="4">
				<label for="4">선택3</label>
			</li>
			<li>
				<input type="checkbox" name="nameval" onclick='checkOnlyOne1(this)' value="4" id="5">
				<label for="5">기타</label>
			</li>
		</ul>

 

스크립트

	function checkOnlyOne1(element) {
	  	const checkboxes1 = document.getElementsByName("nameval");
	  	checkboxes1.forEach((cb) => {
	  	  	cb.checked = false;
	  	});
	  	element.checked = true;
	};

 

array_slice
array_slice(배열, 시작위치, 자를길이)

// 예
array_slice(array, -4, 4);
// 결과 뒤에서 4개만 잘라서 가져온다​
		$data = $this->input->post("data");

		$data = explode(', ', $data);
		$datacount = count($data);
		$postData['data1'] = $data[$datacount - 1];

		if (!empty($data[2])) {
			unset($data[$datacount - 1]);
			$data[0] = implode(', ',$data);
		}
		$postData['data2'] = $data[0];

 

'코딩 공부 > PHP' 카테고리의 다른 글

PHP 문자열 속에 변수쓰기  (0) 2022.01.06
PHP array_slice 사용법  (0) 2021.12.28
php - strftime format  (0) 2021.12.06
PHP - 동시에 여러개의 날짜 계산  (0) 2021.12.05
php 배열 비교  (0) 2021.11.28
안녕하세요, 위메프 파트너센터 입니다.

위메프에서는 파트너분들의 보다 편리한 상품 등록을 위해 상품 일괄등록 기능을 제공하고 있습니다.
상품 일괄등록 시 양식 파일 안에 이미지 파일을 넣을 수 없기 때문에 상품의 이미지링크를 필수로 입력해 주셔야하는데요.
오늘은 이미지링크가 무엇인지, 또 어떻게 생성하는지 방법에 대해 간단히 안내드리도록 하겠습니다.

■ 이미지링크란 무엇인가요?
이미지주소를 생성하기 위해서는 주소만 알고 있다면 모두 확인할 수 있도록 이미지를 웹 공간에 저장해 주셔야 하는데요.
이 과정을 통상적으로 호스팅이라고 칭합니다.
이미지링크란 이미지호스팅을 통해 생성된 각 이미지의 고유 주소 링크입니다.
별도 파일을 업로드 하지 않아도 이미지를 찾을 수 있도록 이미지의 주소를 생성하는 것을 의미합니다.

■ 이미지링크 생성 방법
아쉽게도 위메프에서는 현재 이미지링크를 생성할 수 있는 기능을 제공하고 있지 않기 때문에 *이미지호스팅 사이트를 이용해 주셔야 합니다. 
(*이미지호스팅이란? 이미지 파일을 내 컴퓨터가 아닌 별도의 서버에 저장해놓고 주소 형식(https://)으로 바꿔서 원하는 이미지를 불러올 수 있는 서비스)
대체적으로 이미지링크를 얻을 수 있는 이미지호스팅 사이트는 유료로 이용하셔야 하기 때문에
구글드라이브를 통해 무료로 이미지링크를 생성할 수 있는 방법을 안내드리오니 편하신 방법으로 생성해 주시면 되겠습니다.

- 구글드라이브를 통해 이미지링크 생성하는 방법
※ 구글드라이브에서 만든 이미지링크의 원본 이미지를 영구 삭제할 경우, 생성된 이미지링크도 함께 삭제되는 점 참고 부탁드립니다.

1) 구글드라이브에 이미지를 업로드 해주세요.

2) 업로드한 이미지를 오른쪽 마우스로 클릭하고 ‘공유’ 버튼을 눌러주세요.

3) 링크 보기에서 ‘링크가 있는 모든 사용자로 변경’을 클릭해 주세요.

4) 생성된 링크에서 file/d/ 뒷부분부터 /view 전까지의 숫자+영문 조합을 복사해 주세요.
 
5) 복사한 숫자+영문 조합을 https://drive.google.com/uc?id= 뒷부분에 붙여 넣으면 이미지 호스팅 생성이 완료됩니다.
예시) https://drive.google.com/uc?id=1gq2OFKKv7usMqBkGdkpqVYXWpqoFANnY

감사합니다.
 
출처: 

 

 

input, textarea 에서 사용할때

$('#copyTag').click(function() {

			const valOfCopy = document.getElementById("copyTagText").innerText;
			const textArea = document.createElement('textarea');
			document.body.appendChild(textArea);
			textArea.value = valOfCopy;
			textArea.select(); document.execCommand('copy');
			document.body.removeChild(textArea);
			const options = {
				settings: {
      				duration: 1500,
      			},
			   style : {
					main: {
						width: "12.5rem", // 200px
						fontSize: "0.75rem" // 12px
					}
			   }
			};
  			iqwerty.toast.toast('클립보드에 복사되었습니다.', options);
		});​

 

 

그외의 테그를 사용할 때

textarea를 만들어서 그안에 넣고 복사하고 다시 지우는 로직이다

	//복사
		$('#copyTag').click(function() {
			var copyText = document.getElementById("copyTagText");
  			copyText.select();
  			document.execCommand("Copy");
			const options = {
				settings: {
      				duration: 1500,
      			},
			   style : {
					main: {
						width: "12.5rem", // 200px
						fontSize: "0.75rem" // 12px
					}
			   }
			};
  			iqwerty.toast.toast('클립보드에 복사되었습니다.', options);
    	});

 

toast는 

https://www.cssscript.com/super-simple-javascript-message-toaster-toast-js/

 

Super Simple JavaScript Message Toaster - toast.js | CSS Script

toast.js is a super simple JavaScript library that shows Android style toast messages on your web applications.

www.cssscript.com

이것을 사용했다

  • 시간 형식: 

포맷설명예

%H 시간을 24시간 형식으로 두 자리 숫자로 표현하는 것은 기차 시간 형식과 같다. 00 ~ 23
%k 한 자리 앞에 공백이 있는 24시간 형식의 시간 0에서 23까지
%I 12시간 형식의 시간 두 자리 표시 01년 ~ 12
%l 한 자리 앞에 공백이 있는 12시간 형식 표현. 1,2,3,.,12
%M 분에 대한 두 자리 표시 00에서 59까지
%p UPER-CASE 'AM' 또는 'PM'은 지정된 시간 기준으로 오전 11:59 이후 오전이 될 것이다. 오전은 00:31, 오후는 22:23
%P 소문자 'am' 또는 'pm'은 주어진 시간을 기준으로 하며, 11:59 이후가 오전이 될 것이다. 오전은 00:31, 오후는 22:23
%r %I:%M:과 동일%S %p” 02:22:22:22 오후 14:22:22
%R %H:%M과 동일 오전 12시 44분 00:44, 5시 45분 17:45분PM
%S 그것은 초의 두 자리 숫자 표현이다. 00에서 59까지
%T %H:%M:%S와 동일 20:24:37 PM 08:24:37
%X 로케일을 기준으로 날짜 없이 선호하는 시간 표현을 나타낸다. 04:44:16 또는 16:44:16
%z 표준 시간대 오프셋. Windows에 설명된 대로 구현되지 않음 자세한 내용은 아래를 참조하십시오. 미국 동부 표준시의 경우 0500
%Z 2, 3자로 줄여서 시간대를 나타낸다. 동부 표준시의 EST
  • 시간 및 날짜 스탬프 형식: 

포맷설명예

%c 로캘을 기준으로 선호하는 날짜 및 시간 스탬프. 1월 5일 0:55:25 2009년 1월 5일 오전 12:55:25
%D %m/%d/%y와 동일 2009년 1월 5일 01/05
%F 데이터베이스 데이터 스탬프에 사용되는 "%Y-%m-%d"와 동일함. 2009-01-05년 1월 5일
%s 시간() 함수와 동일한 Unix Epoch 시간 타임스탬프. 1525376494, 2020년 2월 27일 04:50:00 PM
%x 로케일 기준 시간 없이 선호하는 날짜 표시. 2009년 1월 5일 01/05
  • 일 형식: 

포맷설명예

%a 그것은 하루 이름의 텍스트 표현을 줄였다. 태양,몬,...
%A 그것은 하루 종일 이름을 텍스트로 표현한 것이다. 일요일, 월요일..
%d 그것은 심지어 1일이 01처럼 나타내는 날도 두 자리 수로 그 날을 나타낸다. 01~31.
%e 이 날은 한 자리 숫자로 표시되지만, 10일은 10처럼 표시된다. 1에서 31까지.
%j 그것은 심지어 1일이 001처럼 나타내는 날도 3자리 숫자로 그 해를 나타낸다. 001로366번길
%u ISO-8601의 요일 숫자 표시. 월요일은 1에서 일요일은 7까지 입니다.
%w 0부터 시작하는 요일을 숫자 형식으로 나타낸 것이다. 일요일은 0, 토요일은 6.
  • 주 형식 지정: 

포맷설명예

%U 해당 연도의 주 수(첫 번째 주 일요일부터 시작) 1년 중 13주째가 되면
%V ISO-8601:1988의 해당 연도 주번으로, 평일 4주 이상, 월요일이 해당 주의 시작이다. 01 ~ 53의 경우 53이 중복된 주를 차지한다.
%W 첫 월요일부터 %U와 같은 첫 번째 주로 시작하는 연중 주의 숫자 표현이다. 월요일로 시작하는 연중 46주차.
  • 월 형식: 

포맷설명예

%b 로케일을 기준으로 한 달 이름의 텍스트 표현을 줄였다. 1월, 2월...
%B 로케일을 기준으로 한 전체 달의 이름을 텍스트로 표현한 겁니다. 1월, 2월, ..
%h 로케일(%b의 별칭)을 기준으로 한 달 이름의 텍스트 표현을 줄였다. 1월, 2월, ..
%m 01처럼 1달이 1일이라도 2자리 숫자로 나타내는 날을 나타낸다. 01년 1월, 02년 2월 등
  • 연도 형식: 

포맷설명예

%C 그것은 세기를 두 자리수(연도를 100으로 나누고 정수로 자른다)로 나타낸다. 20세기 19년
%g ISO-8601:1988 표준으로 두 자리 수로 연도를 나타낸다(%V 참조). 2009년 1월 6일 주 09
%G %g의 풀 네 자리 버전이다. 2009년 1월 3일 주의 2008년
%y 그것은 그 해의 두 자리 숫자 표현이다. 2009년 09년, 1979년 79년
%Y 올해의 네 자리수 표현 2038
  • 기타 형식: 
     

포맷설명

%n 새로운 줄 문자("\n")이다.
%t 탭 문자("\t")이다.
%% 문자 그대로의 백분율 문자("%")이다.

+ Recent posts