<a>
태그 안에 <img>
태그를 넣음으로써 링크 미리보기로 이미지를 띄울 수 있다.mailto:someone@example.com
<a href="mailto:best3487@snu.ac.kr">Mail Me!</a>
visited
) / 마우스를 위에 올려놓았을 때(hover
) / 클릭 시(active
) - 이 4개의 링크 상태에 따라 스타일을 다르게 지정할 수 있음.text-decoration=none
이라고 css style에서 따로 명시하면 밑줄을 없앨 수 있다.<style>
a:link {
background-color: #20B2AA;
color: PapayaWhip;
font-size: 200%;
text-decoration: none;
}
a:visited {
color:LightPink;
text-decoration: none;
}
a:hover {
color:Tomato;
text-decoration: underLine;
}
a:active {
color:Snow;
text-decoration: underLine;
}
</style>
link (기본 상태)
{padding: 15px 25px; display: inline-block}
)를 활용해서 링크 요소가 버튼처럼 보이도록 할 수 있음. 예시 :
a:link {
background-color: #20B2AA;
color: PapayaWhip;
padding: 15px 25px;
display: inline-block;
border-radius: 20px;
}
웹페이지가 너무 길 경우 페이지의 특정 요소로 이동하는 북마크 요소를 만들 수 있음.
→ 북마크를 설정해둘 요소에 id
속성을 설정해두고
→ 북마크는 링크 요소(<a>
)로 만들고, href=”#(설정한id)”
속성을 설정해 두면 됨.
→ 이런 북마크는 다른 웹페이지에서도 링크 요소로 설정해줄 수 있음. (href=”링크#설정한id”
)
ex
<body>
<a id="top" href="#bottom">Move To Bottom</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<a id="bottom" href="#top">Move To Top</a>
<img>
태그의 src
속성 안에 있는 주소에서 이미지를 가져옴. 웹페이지 안에 고정된 것이 아니기 때문에, 웹페이지가 열릴 때 src
에 명시한 주소 안에 이미지가 반드시 있어야 함.이미지 주소의 경우 절대적 url과 상대적 url 중, 로컬 html 파일이 위치한 폴더 기준으로 이미지 주소를 적는 상대적인 url(relative url)을 사용하는 것을 적극 권장.
(절대적 url을 가진 이미지는 외부 웹사이트에 호스팅된 이미지이므로, 다른 사람의 웹사이트에서 이미지를 가져오는 것은 윤리적이지도 않으며(내 웹에서 이미지가 로딩될 때의 트래픽 비용을 외부 웹사이트가 부담하는 등) 해당 주소의 이미지가 나도 모르게 바뀔 수 있으므로 불안정함. 만약 내 소유 웹사이트에서 이미지를 가져온다고 하면 괜찮을 것)
alt
속성에 설정해둔 대체 텍스트가 표시된다.width
, height
속성보다는 style
속성에서 css 문법으로 설정하는 것을 권장 :속성으로 크기를 정의할 경우, header에서 정의된 style element 등 CSS style sheet에서 전체적으로 정의해 준 이미지 크기가 속성으로 정의된 개별 이미지 크기를 무시하고 덮어쓸 수 있음.
반면 개별 이미지의 크기를 따로 css로 정의해 주면 전체 css style 설정과 개별 요소들의 설정을 모두 유지할 수 있으므로, 그냥 css style로 이미지 크기를 정의하는 것에 익숙해지자.
(w3schools의 예시)
이미지로 gif
애니메이팅 파일을 넣을 수도 있다.
이뿐만 아니라 APNG, GIF, ICO, JPEG, PNG, SVG 파일 모두를 지원함
문단 <p>
요소 안에 이미지 요소 <img>
를 넣으면 문단 안에 이미지를 위치시킬 수 있다.
또한 css의 float 문(e.g. style=”float:right”
)으로, 이미지가 다른 요소 위에 ‘떠 있도록’ 할 수 있는데, 이미지와 다른 요소를 나란히 정렬시키는 데 이용된다고 보면 된다.
floating 코드 예시 :
<p>
<img src="images/cafe.jpeg" alt="cafe that feels good"
style="float:left;width:200px">
느낌 좋은 카페. 느낌 좋은 카페. 느낌 좋은 카페. 느낌 좋은 카페. 느낌 좋은 카페. 느낌 좋은 카페. 느낌 좋은 카페. 느낌 좋은 카페. 느낌 좋은 카페. 느낌 좋은 카페. 느낌 좋은 카페. 느낌 좋은 카페.
</p>
<a>
안에 <img>
를 넣으면 된다.
ex:
<h1>고함항아리구경하기>>
<a href="https://github.com/h-seo-n/Scream-Jar" style="float:right;">
<img src="images/cloud.jpeg" style="width:200px">
</a>
</h1>
좌표를 이용해서 이미지의 특정 구역을 클릭하면 다른 링크로 이동하는 등, 이미지의 특정 구역과 사용자와의 상호작용을 구현할 수 있다.
<map>
요소에서 설정해줄 구역을 shape
와 coords
속성으로 정의해주고, <map>
의 name 속성과 <img>
의 usemap 속성이 일치하게 함으로써 연결해주면 된다.
예시 형식 :
<img src="images/ex1.jpg, usemap=#ex1">
<map name="ex1">
<area shape="rect" coords="34,44,270,350" href="example1.htm"
>
<area>
: <map>
요소 안에 구역을 설정해주는 <area>
요소가 있고, 추가적 속성으로 구역의 모양과 크기를 설정해줄 수 있다.
shape=”rect”
: 가장 왼쪽 상단의 좌표와 가장 오른쪽 하단의 좌표, 총 두 쌍의 좌표를 coords에 적어 준다.
shape=”circle”
: 원의 중심 좌표와 원의 반지름, 총 세 개의 숫자를 적어준다.
shape=”poly”
: 여러 쌍의 좌표를 입력하면, 그 점들을 선으로 연결한 다각형 모양을 만든다. (사진 출처 : https://www.w3schools.com/html/html_images_imagemap.asp)
![]() | ![]() |
---|
<area href = “…”>
: 정의해준 구역을 클릭했을 때, href 속성에 적은 링크로 이동하도록 한다.
JavaScript : <area>
요소의 onclick
속성에 자바스크립트 함수 이름을 명시함으로써, 정의해준 이미지 구역(맵 요소)이 자바스크립트 함수에 정의된 대로 사용자와 상호작용하게 할 수 있다.
ex.
<area … onclick=”myfunction()”> …
<script>
function myFunction() { … }
</script>
<style>
태그 혹은 css 시트 안에 background-image: url(’이미지 주소’);
를 설정해주면 된다.ex:
<style>
body {
background-image: url('images/landscape.jpeg');
background-size: cover;
background-attachment: fixed;
}
</style>
background-size
:“cover”
로 설정해둘 시, 이미지가 기존의 비율을 유지하면서 페이지(혹은 요소) 전체를 채운다. → 밑에 나오는 background-attachment 설정 없이 그냥 cover만 할 시 “100%”로 설정하는 것과 같음“100%”
로 설정하면 기존의 비율을 유지하면서 가로 길이만 페이지(혹은 요소)의 길이에 맞춘다.“100% 100%”
로 설정하면 비율을 유지하지 않고 페이지(혹은 요소) 전체를 덮어버린다.background-attachment
:background-size=cover;
background-attachment=fixed;
이렇게 동시에 설정해두면 배경 이미지가 항상 페이지(혹은 요소) 전체를 가린다.background-repeat
:background-repeat: no-repeat;
를 설정해주면 된다.→ css background에 대해 더 검색해보면 더 잘 알 수 있는데 실제로 만들때 그때그때 검색하면서 해도 될 것 같다.
<picture>
요소<picture>
<source media="(min-width: nnnpx)" srcset="ex1.jpg">
<source media="(min-width: mmmpx)" srcset="ex2.jpg">
<img src="default_img.jpg">
</picture>
<picture>
내부 <source>
요소가 있고, media
속성으로 어떤 조건 하에 해당하는 이미지를 표시할지 설정해준다. 이때 브라우저는 소스를 순서대로 보다가 조건을 만족하는 소스를 찾으면 더 보지 않고 바로 그 소스(이미지)를 표시한다.<source>
요소들을 다 작성한 후 마지막에 <img>
요소를 넣어주면, 모든 조건이 만족하지 않을 때의 기본값 이미지가 된다.