<button> 요소에 이미지 포함


135

<button>HTML 의 요소에 png 이미지를 표시하려고합니다 . 버튼은 이미지와 크기가 같으며 이미지가 표시되지만 어떤 이유로 중앙에 표시되지 않으므로 모든 것을 볼 수 없습니다. 다시 말해, 이미지의 오른쪽 상단 모서리는 버튼의 오른쪽 상단이 아니라 버튼 중앙에있는 것처럼 보입니다.

이것은 HTML 코드입니다.

<button id="close" class="closing" onClick="javascript:close_clip()"><img src="icons/close.png" /></button>

업데이트 :
실제로 발생하는 것은 마진 문제입니다. 두 개의 픽셀 여백이 생겨서 배경 이미지가 버튼을 벗어납니다. 버튼과 이미지의 크기는 동일 20px하므로 매우 눈에.니다 margin:0. padding:0, 시도했지만 도움이되지 않았습니다 ...


나를 위해, 그것은 완벽하게 작동합니다 ...이 상황에서 어떤 상황입니까? 몇 줄 더 코드를 게시 할 수 있습니까?

3
당신은 같은 라이브 사이트에이 문제를 재현 할 수 JS 바이올린 우리가하는 에 무슨 일이?
데이비드 모니카

답변:


189

입력 유형 이미지를 사용할 수 있습니다.

<input type="image" src="http://example.com/path/to/image.png" />

버튼으로 작동하며 이벤트 핸들러를 첨부 할 수 있습니다.

또는 CSS를 사용하여 배경 이미지로 버튼의 스타일을 지정하고 테두리, 여백 등을 적절하게 설정할 수 있습니다.

<button style="background: url(myimage.png)" ... />

1
... 양식을 제출하기 위해 JavaScript가 필요하지 않습니다.
ComFreek

6
-1 : " 해야 할 것 "은 용어가 너무 강하기 때문에 실제로 <input type="image">설계된 것이 아니기 때문 입니다. 왜 CSS를 제안하지 않습니까?
웨슬리 머치

버튼을 사용하는 것이 좋습니다. 대답이 없으면 알아서하겠습니다. 감사합니다
Amit Hagin

그런 다음이 답변과 다른 답변에서 언급 한대로 스타일을 지정하십시오.
Andrew Barber

3
button 요소에는 시작 끝 끝 태그가 모두 필요하므로 기술적으로 <button />이 (가) 유효하지 않으므로 <button> </ button>이어야합니다.
Tamas Czinege

66

이미지가 예를 들어 프로필 그림과 같은 의미 론적 데이터 인 경우 <img>내부 의 요소 를 사용하고 <button>CSS를 사용하여의 크기를 조정하십시오 <img>. 이미지가 버튼을 시각적으로 만족스럽게 만드는 방법이라면 CSS background-image를 사용 하여 스타일을 지정하고를 <button>사용하지 마십시오 <img>.

데모 : http://jsfiddle.net/ThinkingStiff/V5Xqr/

HTML :

<button id="close-image"><img src="http://thinkingstiff.com/images/matt.jpg"></button>
<button id="close-CSS"></button>

CSS :

button {
    display: inline-block;
    height: 134px;
    padding: 0;
    margin: 0;
    vertical-align: top;
    width: 104px;
}

#close-image img {
    display: block;
    height: 130px;  
    width: 100px;
}

#close-CSS {
    background-image: url( 'http://thinkingstiff.com/images/matt.jpg' );
    background-size: 100px 130px;
    height: 134px;  
    width: 104px;
}

산출:

여기에 이미지 설명을 입력하십시오


@ThinkingStiff <image>요소? 난 당신 말은 생각 <img>텍스트에서)
ComFreek

좋은 답변 주셔서 감사합니다 !! 그러나 문제는 남아 있습니다 ... 질문을 조금 업데이트했습니다. 아마도 내기를 이해하는 데 도움이 될 수 있습니다.
Hagin을 Amit

@AmitHagin 나는 당신의 업데이트를 보았다. 버튼에는 높이 계산에 포함 된 테두리가 있습니다. 20px키가 큰 이미지 를 맞추 려면 버튼 높이가이어야 24px합니다.
ThinkingStiff

문제는, 당신의 변경 공백을 방지하기 위해, 또한 @AmitHagin <img>에를 display: block;. 이것을 보여주기 위해 데모 링크를 업데이트했습니다.
ThinkingStiff

이 방법으로 접근성 / 대체 텍스트에 대한 우려가 있습니까? 나는 정말 녹슬었지만 허용되는 해결 방법으로 여전히 수천 픽셀로 텍스트를 오프셋하여 텍스트를 숨기고 있습니까?
Rob Drimmie


10

이미지를 버튼에 넣는 가장 간단한 방법 :

<button onclick="myFunction()"><img src="your image name here.png"></button>

이 버튼은 이미지 크기에 맞게 자동으로 크기가 조정됩니다.


4

왜 이미지를 사용하지 않습니까? onclick 속성이 않습니까?

예를 들면 다음과 같습니다.

<script>
function myfunction() {
}
</script>
<img src='Myimg.jpg' onclick='myfunction()'>

0

프로젝트에 이미지 이름으로 새 폴더를 추가하십시오. 이미지 폴더에 이미지를 넣습니다. 그러면 잘 작동합니다.

<input type="image" src="~/Images/Desert.jpg" alt="Submit" width="48" height="48">

0

이 형식을 시도하고 "width"속성을 사용하여 이미지 크기를 관리하십시오. 간단합니다. JavaScript도 요소로 구현할 수 있습니다.

<button><img src=""></button>


-7

버튼은 이미지를 직접 지원하지 않습니다. 또한 당신이하는 방식은 링크 ()

스타일의 BACKGROUND-IMAGE 속성을 사용하여 버튼 위에 이미지가 추가됩니다.

태그를 사용하여 반복 및 기타 속성을 지정할 수도 있습니다

예를 들어, 버튼에 추가 된 기본 이미지는 다음 코드를 갖습니다.

    <button style="background-image:url(myImage.png)">

평화


2
귀하의 답변이 잘못되었습니다. 공식 문서에 따르면 허용됩니다.
biphobe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.