<div>을 iframe처럼 만들기
Div 요소를 이용하여 iframe과 유사한 동작을 구현할 수 있습니다. 다음은 div 요소를 사용하여 iframe과 같은 동작을 하는 예시 코드입니다.
<!-- HTML 코드 -->
<div class="frame" data-src="https://www.example.com"></div>
<style>
/* CSS 코드 */
.frame {
position: relative;
padding-bottom: 56.25%; /* 16:9 비율에 맞게 설정 */
height: 0;
}
.frame > * {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.frame > iframe {
border: none; /* 기본적으로 iframe에 적용되는 테두리 제거 */
}
</style>
<script>
// JavaScript 코드
document.addEventListener("DOMContentLoaded", function () {
const frames = document.querySelectorAll(".frame");
frames.forEach((frame) => {
const src = frame.dataset.src;
const iframe = document.createElement("iframe");
iframe.src = src;
frame.appendChild(iframe);
});
});
</script>
위 코드에서는 div 요소에 data-src 속성을 추가하여 원하는 URL을 지정합니다. 이후 JavaScript 코드에서는 DOMContentLoaded 이벤트가 발생했을 때 frame 클래스를 가진 모든 div 요소를 선택하고, 각 div 요소에 해당하는 URL을 가져와 iframe 요소를 생성하여 삽입합니다. 이 때, iframe 요소의 속성으로 src를 지정해줍니다.
CSS 코드에서는 padding-bottom 속성을 이용하여 div 요소의 높이를 0으로 설정한 후, 가로 세로 비율을 유지하기 위해 비율에 맞는 padding 값을 지정합니다. 이후 position: absolute 속성을 이용하여 div 내부의 모든 요소를 절대 위치로 배치하고, width와 height 속성을 모두 100%로 설정하여 div 요소와 내부 요소의 크기가 동일하도록 만들어줍니다. iframe 요소는 기본적으로 적용되는 테두리를 제거하기 위해 border: none 속성을 추가해줍니다.
이렇게 구현한 div 요소를 iframe처럼 사용할 수 있습니다.
댓글 5개
감사합니다.
음.. 이게 결국 iframe 아닌가요?
게시판 목록
퍼블리셔팁
질문은 상단의 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 1277 | 기타 |
선택과집중
|
3개월 전 | 158 | |
| 1276 | CSS |
선택과집중
|
3개월 전 | 280 | |
| 1275 | CSS |
선택과집중
|
3개월 전 | 278 | |
| 1274 | CSS |
선택과집중
|
4개월 전 | 470 | |
| 1273 | 기타 |
선택과집중
|
5개월 전 | 409 | |
| 1272 | CSS |
선택과집중
|
5개월 전 | 543 | |
| 1271 | CSS |
선택과집중
|
5개월 전 | 587 | |
| 1270 | CSS |
선택과집중
|
6개월 전 | 465 | |
| 1269 | CSS |
선택과집중
|
6개월 전 | 547 | |
| 1268 | CSS | 6개월 전 | 436 | ||
| 1267 | 10개월 전 | 718 | |||
| 1266 | HTML | 11개월 전 | 844 | ||
| 1265 | CSS |
|
1년 전 | 776 | |
| 1264 | 2년 전 | 1268 | |||
| 1263 | HTML |
|
1년 전 | 799 | |
| 1262 | CSS |
|
1년 전 | 1005 | |
| 1261 | CSS |
|
1년 전 | 1020 | |
| 1260 | HTML | 2년 전 | 1498 | ||
| 1259 | 기타 | 2년 전 | 836 | ||
| 1258 | CSS |
|
2년 전 | 1597 | |
| 1257 | HTML |
|
2년 전 | 1380 | |
| 1256 | CSS |
돈도없어개발하기도시러
|
2년 전 | 1284 | |
| 1255 | 2년 전 | 3619 | |||
| 1254 | 2년 전 | 4804 | |||
| 1253 | 2년 전 | 1561 | |||
| 1252 | 레이아웃 |
swallow
|
2년 전 | 1796 | |
| 1251 | 웹접근성 |
두리삼촌v
|
2년 전 | 2068 | |
| 1250 | 레이아웃 |
두리삼촌v
|
2년 전 | 1704 | |
| 1249 | 레이아웃 |
두리삼촌v
|
2년 전 | 3226 | |
| 1248 | 기타 |
돈도없어개발하기도시러
|
2년 전 | 1159 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기