html5 오디오 태그를 스타일링 할 수 있습니까?


120

그렇게하는 방법에 대한 리소스를 찾지 못했습니다. 플레이어의 색상을 변경하는 것만 큼 간단한 것이 있으면 좋을 것입니다. :)


3
"samba", "jazz", "waltz", ...
David Gelhar 2010

1
다른 브라우저는 오디오 요소의 스타일에 다르게 반응합니다.- stackoverflow.com
a

1
예, 즉 최악으로 보입니다. 어떻게 그렇게 나빠 보이게 만들 수 있습니까?
live-love

1
비디오 스타일링 크로스 브라우저 답변 advprog.blogspot.co.uk/2013/07/…
Mousey

@ 40-Love : 그거 심각한 질문인가요? Microsoft입니다 !!
Ringo

답변:


47

예! "controls"속성이있는 HTML5 오디오 태그는 브라우저의 기본 플레이어를 사용합니다. 브라우저 컨트롤을 사용하지 않고 자신의 컨트롤을 롤링하고 자바 스크립트를 통해 오디오 API와 대화하여 원하는대로 사용자 지정할 수 있습니다.

다행히 다른 사람들이 이미이 작업을 수행했습니다. 지금 제가 가장 좋아하는 플레이어는 jPlayer 이며 스타일 이 매우 좋으며 훌륭하게 작동합니다. 확인 해봐.


49
그래서 대답은 "아니요, 불가능합니다. 외부 플레이어를 사용해야합니다"?
Fernando

2
@Fernando : 정말 가능합니다. 이것은 "가능합니까?"라는 질문에 대답합니다.
Dan Schnau 2014 년

3
@dsschnau 감사합니다. 질문이 html5 비디오 태그 스타일링에 관한 것이기 때문에 내 댓글을 게시 했으며 모든 답변은 다른 태그를 사용하여 가능합니다 .
Fernando

10
그래서 정말 "아니오"입니까? 자신의 UI를 롤링하는 것은 기존 마크 업에 스타일을 지정하는 것과 다릅니다.

2
이 답변은 실제로 리소스에 대한 링크입니다. jPlayer 가 사라지면 어떻게됩니까?
Kyle

74
<audio>

audio::-webkit-media-controls-panel

audio::-webkit-media-controls-mute-button

audio::-webkit-media-controls-play-button

audio::-webkit-media-controls-timeline-container

audio::-webkit-media-controls-current-time-display

audio::-webkit-media-controls-time-remaining-display

audio::-webkit-media-controls-timeline

audio::-webkit-media-controls-volume-slider-container

audio::-webkit-media-controls-volume-slider

audio::-webkit-media-controls-seek-back-button

audio::-webkit-media-controls-seek-forward-button

audio::-webkit-media-controls-fullscreen-button

audio::-webkit-media-controls-rewind-button

audio::-webkit-media-controls-return-to-realtime-button

audio::-webkit-media-controls-toggle-closed-captions-button

참조 : https://chromium.googlesource.com/chromium/blink/+/72fef91ac1ef679207f51def8133b336a6f6588f/Source/core/css/mediaControls.css?autodive=0%2F%2F%2F


18
형편없는 표현이지만 유용한 CSS 선택자!
benoît

6
이것들을 사용하는 방법의 예를 보여줄 수 있습니까? 그냥 샘플 코드?
Xsmael

9
이은 웹킷 기반 브라우저에서 지원됩니다 (예를 들어하지 파이어 폭스, IE 등)
길 라드 mayani

2
아주 좋은 해킹, 정답이고 많은 감사합니다! 나는 고통과 추가 JS 코드없이 오디오 태그의 스타일을 변경합니다, ViVa Fabio
java


64

예 : 기본 제공 브라우저 UI를 숨기고 (에서 controls속성을 제거하여 audio) 대신 고유 한 인터페이스를 빌드하고 자바 스크립트 ( 소스 )를 사용하여 재생을 제어 할 수 있습니다 .

<audio id="player" src="vincent.mp3"></audio>
<div> 
  <button onclick="document.getElementById('player').play()">Play</button> 
  <button onclick="document.getElementById('player').pause()">Pause</button> 
  <button onclick="document.getElementById('player').volume += 0.1">Vol +</button> 
  <button onclick="document.getElementById('player').volume -= 0.1">Vol -</button> 
</div>

그런 다음 CSS를 사용하여 원하는대로 요소의 스타일을 지정할 수 있습니다.

MDN HTMLAudioElement API 참조



30

태그의 모양은 브라우저에 따라 다르지만 태그를 숨기고 고유 한 인터페이스를 구축하고 Javascript를 사용하여 재생을 제어 할 수 있습니다.


14

일부 색상 조정

audio {
    filter: sepia(20%) saturate(70%) grayscale(1) contrast(99%) invert(12%);
    width: 200px;
    height: 25px;
}

1
이것은 매우 편리 플레이어의 기본 색상을 변경할 수있는 신속하고 더러운 방법
wakandan

로그인을 위해 로그인 자격 증명을 털어 내고, 찬성하고 "감사합니다"라고 말합니다.
Marc Amos


8

Ken도 옳았습니다.

css태그 :

audio {

}

결과를 얻을 수 있습니다. 플레이어가 25px보다 크거나 작은 높이를 원하지 않는 것 같지만 너비는 어느 정도까지 줄이거 나 늘릴 수 있습니다.

이것은 나에게 충분했습니다. 다음 예를 참조하십시오 (경고, 오디오가 자동으로 재생 됨) : www.thenewyorkerdeliinc.com


저에게 큰 문제는 Internet Explorer입니다. 너비가 150px로 설정되어 있어도 다른 브라우저 플레이어보다 끔찍하고 색이 다르며 크기가 훨씬 더 커 보입니다
Ringo

IE9 + 플레이어를 작은 공간에 넣어야하는 경우 높이 25px, 너비 100px가 적합했습니다. 25px의 높이가 핵심이라고 생각하지만 어떤 이유로 든 큰 숫자는 작동하지 않았습니다.
Ringo

링크는 불행하게도 다운
알렉스 Sorokoletov

6

플레이어의 색상 만 변경하려면 css 파일의 오디오 태그를 지정하기 만하면됩니다. 예를 들어 내 사이트 중 하나에서 플레이어가 보이지 않게되어 (흰색 바탕에 흰색) 다음을 추가했습니다.

audio {
    background-color: #95B9C7;
}

이로 인해 플레이어가 하늘색으로 변경되었습니다.


12
이것은 내 플레이어의 색상을 변경하지 않고 배경색 만 표시합니다. 왜 그런지 아세요?

1
@Tom이 솔루션은 플레이어의 기본 회색 배경을 변경하기위한 것이 아니기 때문에 :-) 나와 같은 결과입니다.
Florian Doyen

0

예, 가능합니다. @ Fábio Zangirolami 답변에서

audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
                background-color: red;
}

Firefox 77에서 작동하지 않음
Henry

-4

CSS에서 브라우저 표준 음악 플레이어의 스타일을 지정하려면 :

audio {
    enter code here;
}

1
완료되지 설명은 매우 간단하고 난 모든 요소 오디오 스타일링이 방법을 사용할 수 있습니다
Davod Aslanifakor

이 대답에 대한 간단한 확인조차도 그것이 잘못되었음을 드러 냈을 것입니다.
Isaac Lubow
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.