Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][HTML]Border w środku odtwarzacza video
Forum PHP.pl > Forum > Przedszkole
Generic
Witam. Czy mógłby mi ktoś wytłumaczyć jak osiągnąć taki efekt że przezroczysta ramka znajduje się w środku odtwarzacza, tak jak jest to pokazane na obrazku poniżej? Zazwyczaj ramki są dookoła filmu. Czy jest to do zrobienia w samym html/css? Z góry dziękuję i pozdrawiam.



kamil_lk
http://jsfiddle.net/o4zmf84s/
Generic
@kamil_lk

przy znaczniku <video> ramka nie jest przezroczysta przez co nie widać rozmazanego video przy krawędziach.
trueblue
http://jsfiddle.net/o4zmf84s/1/
Generic
Cytat(trueblue @ 2.03.2015, 18:32:40 ) *


Zrobiłeś że tekst znajduje się na tej ramce przez co video bedzie zasłaniać ramke.
trueblue
Ramka jest półprzezroczysta, to ona przysłania tekst, a nie tekst ją.
Generic
Cytat(trueblue @ 2.03.2015, 19:37:45 ) *
Ramka jest półprzezroczysta, to ona przysłania tekst, a nie tekst ją.



  1. <video controls><source src="home_video.mp4" type="video/mp4"></video>


  1. video
  2. {
  3. width: 412px;
  4. height: 234px;
  5. box-sizing: border-box;
  6. border: 3px solid rgba(0, 0, 0, 0.1);
  7. }


Coś jest nie tak. Ramka wygląda jakby była po zewnętrznej stronie.
trueblue
W moim przykładzie było zupełnie coś innego.
Generic
Cytat(trueblue @ 2.03.2015, 20:27:22 ) *
W moim przykładzie było zupełnie coś innego.


Wiem, ty ustawiłeś div jednak chodziło mi jak zrobić coś takiego w odtwarzaczu video.
trueblue
Przepisać style css z przykładu.
Generic
Cytat(trueblue @ 2.03.2015, 19:37:45 ) *
Ramka jest półprzezroczysta, to ona przysłania tekst, a nie tekst ją.



Cytat(trueblue @ 2.03.2015, 20:34:43 ) *
Przepisać style css z przykładu.


  1. <video controls class="border"><source src="home_video.mp4" type="video/mp4"></video>


  1. .border
  2. {
  3. width: 412px;
  4. height: 234px;
  5. box-shadow: inset 0 0 0 4px rgba(255,0,0,0.5);
  6. }



Ramka jest, jednak jest ona pod odtwarzaczem zamiast na nim.
trueblue
Coś takiego powinno zadziałać:
  1. <style type="text/css">
  2. .border{
  3. position:relative;
  4. }
  5. .border:after
  6. {
  7. position:absolute;
  8. left:0;
  9. top:0;
  10. width:200px;
  11. height:200px;
  12. box-shadow: inset 0 0 0 4px rgba(255,0,0,0.5);
  13. content:'';
  14. }
  15.  
  16. <div class="border">
  17. <video class="border" width="320" height="240" controls>
  18. <source src="movie.mp4" type="video/mp4">
  19. <source src="movie.ogg" type="video/ogg">
  20. Your browser does not support the video tag.
  21. </video>
  22. </div>
Generic
@trueblue

Wygląda w porządku, ale coś blokuje przyciski odtwarzania przez co film się nie uruchamia.
trueblue
I niestety tu lipa, bo :after będzie mieć domyślnie większy z-index niż video i kontrolki.
Jest możliwe to po wprowadzeniu czterech oddzielnych elementów wewnątrz div.border, z których każdy będzie symulował jedną z czterech ramek.
Czyli w div.border trzeba wstawić 4 elementy o szerokości/wysokości równej szerokość ramki/szerokość/wysokość video z background color z opacity.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.