inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Học CSS Flex và Grid đúng cách

Cách áp dụng bố cục Grid cho IE

gap을 대신하여 margin을 사용할 경우.

851

mkp0131

91 câu hỏi đã được viết

1

gap을 대신하여 margin을 사용할 경우.

크롬에서는 margin 과 gap 이 중복으로 실행되어 배치가 틀려지는데 explorer 에만 margin 을 부여 할 수 있는 방법이 있을까요?

flex HTML/CSS

Câu trả lời 2

3

studiomeal

아래 코드는 브라우저가 인터넷익스플로러인지 아닌지,
익스플로러라면 몇버전인지 체크해주는 코드입니다.
여러가지 방법이 있을 수 있는데 userAgent를 활용하는 간단하고 독립적인 방법이에요~

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>IE 체크</title>
</head>
<body>
<script>
	function checkIE() {
		const htmlElem = document.querySelector('html');
		const ieVersion = -1;

		if (navigator.appName == 'Microsoft Internet Explorer') {
			const ua = navigator.userAgent;
			const re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
			if (re.exec(ua) != null)
				ieVersion = parseFloat( RegExp.$1 );
		} else if (navigator.appName == 'Netscape') {
			const ua = navigator.userAgent;
			const re  = new RegExp("Trident/.*ieVersion:([0-9]{1,}[\.0-9]{0,})");
			if (re.exec(ua) != null)
				ieVersion = parseFloat(RegExp.$1);
		}

		// 조사 결과에 따라 <html>에 class를 붙임
		if (ieVersion > 0) {
			htmlElem.classList.add('ie');
			htmlElem.classList.add('ie-' + ieVersion);
		} else if (navigator.userAgent.indexOf('rv:11') >= 0) {
			htmlElem.classList.add('ie', 'ie-11');
		} else {
			htmlElem.classList.add('not-ie');
		}

		return ieVersion;
	};

	// 콘솔에 확인
	console.log(checkIE());
</script>
</body>
</html>

checkIE() 를 실행해 보시면 브라우저에 따라
<html class="ie ie-11">
<html class="not-ie">
이런 식으로 class가 붙습니다.
.ie .container {} 이런 식으로 CSS를 작성하시면 익스플로러의 .container에만 적용하는 식이 되는 거고요^^
이런 방법으로 익스플로러만의 CSS를 따로 처리해주시면 됩니다.
(꼭 이 방법만 있는 것은 아니고요, 기본적으로 "브라우저가 뭔지 체크 후, 분기처리를 한다-" 이렇게 생각하시면 될 것 같아요)

0

mkp0131

직접 JS 코드 까지 적어주시다니 신경써주셔서 감사합니다.

가로스크롤 과 margin: 0 -1rem 질문 있습니다

0

122

1

수업자료 다운로드

0

127

1

VS코드에 클래스 이름만 넣으셨는데 선생님이 뭘 누르면 바로 태그로 변하던데...

1

140

1

css grid repeat() 에서 autofit 사용시

0

186

1

menu 아이템 반응형 변경

0

102

1

질문은 아니고.. 오타 발견..

0

122

1

웹에서 위치?값

0

213

1

px, em ,rem을 어떻게 감각적으로 쓸 수 있을까요?

0

512

2

강의에 나오는 html 자동으로 만들어주는 편집기에 대해 알 수 있을까요?

0

312

1

flex-basis auto, 0 차이

0

715

2

padding 대신 gap을 쓰는게 더 편하지 않나요?

2

610

1

animation forwards 관련 질문

0

490

2

auto-fill, auto-fill이 적용되지 않는것 에 대해 질문드립니다.

0

561

1

flex-grow IE 질문드립니다.

0

627

2

Flex-grow가 적용되는 영역에 대해 질문드립니다.

0

437

1

Grid 수직정렬 문의

0

1076

1

card__item에 display:flex를 했을 때..

0

513

1

11vmin

0

421

1

header class 안에 div와 h2

0

577

1

grid 반응형 페이지 step1 질문있습니다~

0

282

1

반응형 페이지 step4 order

0

359

1

미디어쿼리 사이즈

1

290

1

figure + div

0

304

1

CSS Grid를 통한 정렬의 장점

0

251

1