-
Texte sur image ou autre
Code d'un article publié, où un texte apparaît au survol d'un image ou d'une vidéo.
Le principe est de placer l'élément visible dans un cadre qui cache ce qui en dépasse.
L'élément qui apparaît au survol de l'élément visible est placé en dehors et glisse à l'intérieur au survol d'un bouton invisible, qui recouvre l'ensemble du montage.
L'idée de la visiteuse qui me demande le code est de placer les paroles d'une chanson au dessus de la vidéo.
<div style="width: 1000px; height: 563px; margin: 10px auto; background: url('http://ekladata.com/U8QJEDtYyZDWOjkj361b4A3d2Ms.jpg'); background-size: 1000px 563px; border: 6px ridge white; overflow: hidden;">
<p id="bg0"> </p>
<p id="bg1"><br />Une feuille<br /> ou<br /> un narval ?<br /><br />La licorne de mer.</p>
</div>
<style><!--
#bg0{position:absolute; z-index:5; width:1000px; height:563px; transform:translate(0px,0px);}
#bg1{z-index:1; width:1000px; height:563px; text-align:center;background:rgba(255,255,200,0.7); font-size:6vh; transform:translate(0px,-563px); transition:all 1s linear;}
#bg0:hover ~ #bg1{ transform:translate(0px,0px);}
--></style>
Si ce système peut convenir au dessus d'une image ou, à l'inverse, une image au dessus d'un texte, cela ne convient pas au dessus d'une e-frame car il ne faut pas que son survol provoque l'apparition du texte et empêche de lancer la vidéo !
Je propose donc le texte animé au clic sur un bouton toujours visible; la vidéo est lancée et le clic sur le bouton fait descendre le texte (ou animation latérale); la couleur de fond du texte est demi-transparente pour laisser voir la vidéo qui se déroule et un clic hors montage fait remonter le texte.
Cependant, si le texte est long, il faudra trouver le moyen de le caser dans la surface de l'élément animé; ou alors, il faut modifier le code pour que le paragraphe s'agrandisse au lieu d'être placé en dehors du montage !
Voyons une première solution:
<div style="width: 960px; height: 720px; margin: 10px auto; border: 6px ridge white; overflow: hidden;"><input id="bz1" type="text" value="clic texte paroles" />
<p id="bz0"> </p>
<div style="position: absolute; z-index: 1;"><iframe style="position: absolute; width: 960px; height: 720px; left: 0;" src="https://www.youtube.com/embed/2ICFtXx546A?ecver=2" frameborder="0" width="960" height="720" allowfullscreen="allowfullscreen"></iframe></div>
<div id="bz2">
<p style="width: 300px; float: left; margin: 100px 0 0 20px;">On est bien peu de chose<br /> Et mon a-mie la rose<br /> Me l'a dit ce ma-tin<br /> À l'au-rore je suis née<br /> Bap-ti-sée de ro-sée<br /> Je me suis é-pa-nouie<br /> Heu-reuse et a-mou-reuse<br /> Aux ray-ons du so-leil<br /> Me suis fer-mée la nuit<br /> Me suis ré-veil-lée vieille<br /> Pour-tant j'é-tais très belle<br /> Oui j'é-tais la plus belle<br /> Des fleurs de ton jar-din</p>
<p style="width: 300px; float: left; margin: 150px 0 0 0;">On est bien peu de chose<br /> Et mon a-mie la rose<br /> Me l'a dit ce ma-tin<br /> Vois le Dieu qui m'a faite<br /> Me fait cour-ber la tête<br /> Et je sens que je tombe<br /> Et je sens que je tombe<br /> Mon cœur est pres-que nu<br /> J'ai le pied dans la tombe<br /> Dé-jà je ne suis plus<br /> Tu m'ad-mi-rais hi-er<br /> Et je se-rai pous-sière<br /> Pour tou-jours de-main</p>
<p style="width: 300px; float: left; margin: 200px 0 0 0;">On est bien peu de chose<br /> Et mon a-mie la rose<br /> Est mor-te ce ma-tin<br /> La lu-ne cet-te nuit<br /> A veil-lé mon a-mie<br /> Moi en rê-ve j'ai vu<br /> É-blou-is-sante et nue<br /> Son â-me qui dan-sait<br /> Bien au-de-là des nues<br /> Et qui me sou-ri-ait<br /> Croit ce-lui qui peut croire<br /> Moi j'ai be-soin d'es-poir<br /> Si-non je ne suis rien<br /><br /> Ou bien si peu de chose<br /> C'est mon a-mie la rose<br /> Qui l'a dit hier ma-tin.</p>
</div>
</div>
<style><!--
#bz0{position:absolute; z-index:5; width:100px; height:30px; transform:translate(100px,0px);}
#bz1{position:absolute; z-index:10; width:120px; height:20px; transform:translate(700px,20px);}
#bz2{z-index:1; width:960px; height:720px; background:rgba(200,200,100,0.7); font-size:2vh; transform:translate(0px,-720px); transition:all 1s linear;}
#bz1:focus ~ #bz2{ transform:translate(0px,0px);}
--></style>
Essayons d'agrandir l'élément texte au lieu de le cacher d'abord et de le faire glisser; nous ne pouvons que le rendre transparent puis opaque, au clic sur le bouton.
Le texte dépassera de la vidéo mais restera dans le montage.
Ce texte est un poème de Victor Hugo
Gastibelza, l'homme à la carabine,
. . Chantait ainsi :
"Quelqu'un a-t-il connu doña Sabine ?
. . Quelqu'un d'ici ?
Chantez, dansez, villageois ! la nuit gagne
. . Le mont Falu...
Le vent qui vient à travers la montagne
. . Me rendra fou."
"Quelqu'un de vous a-t-il connu Sabine,
. . Ma señora ?
Sa mère était la vieille maugrabine
. . D'Antequera,
Qui chaque nuit criait dans la tour Magne
. . Comme un hibou...
Le vent qui vient à travers la montagne
. . Me rendra fou.""Vraiment, la reine eût, près d'elle, été laide
. . Quand, vers le soir,
Elle passait sur le pont de Tolède
. . En corset noir.
Un chapelet du temps de Charlemagne
. . Ornait son cou...
Le vent qui vient à travers la montagne
. . Me rendra fou."
Le roi disait, en la voyant si belle,
. . A son neveu :
"Pour un baiser, pour un sourire d'elle,
. . Pour un cheveu,
Infant don Ruy, je donnerais l'Espagne
. . Et le Pérou !
Le vent qui vient à travers la montagne
. . Me rendra fou.""Je ne sais pas si j'aimais cette dame,
. . Mais je sais bien
Que, pour avoir un regard de son âme,
Moi, pauvre chien,
J'aurais gaîment passé dix ans au bagne
. . Sous les verrous...
Le vent qui vient à travers la montagne
. . Me rendra fou."
"Quand je voyais cette enfant, moi le pâtre
. . De ce canton,
Je croyais voir la belle Cléopâtre,
. . Qui, nous dit-on,
Menait César, empereur d'Allemagne,
. . Par le licou...
Le vent qui vient à travers la montagne
. . Me rendra fou."
"Dansez, chantez, villageois, la nuit tombe
. . Sabine, un jour,
A tout vendu, sa beauté de colombe,
. . Tout son amour,
Pour l'anneau d'or du comte de Sardagne,
. . Pour un bijou...
Le vent qui vient à travers la montagne
. . M'a rendu fou."