IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Répéter une image sans background(url)


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 4
    Par défaut Répéter une image sans background(url)
    Bonjour à tous,

    Je dois faire une page web constituée :
    - d'une image en entête répétée une seule fois
    - d'une image en corps répétée n fois sur laquelle du texte est positionné

    Avec du css classique et du background, aucun souci. Sauf que la page doit être interprétée par un moteur qui n'accepte que les images en <img src="" />.

    Et là je n'arrive absolument pas à répéter mon image centrale et à y positionner du texte dessus.

    Solution qui marche avec du background CSS classique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <html>
     
     
    <body>
     
    <table width="966px" cellpadding="0" cellspacing="0">
    <!-- Haut -->
    <tr height="250px">
     <td style="background-image: url('http://teslahost.com/images/header.jpg');"></td>
    </tr>
     
    <!-- Milieu -->
    <tr>
     <td style="background-image: url('http://teslahost.com/images/middle.jpg');">
     
    <div style="position:relative; left:40px; width:886px; text-align:justify; ">
     
    <p style="font-family:arial; color:#57575F; font-size:13px;font-weight:bold;"><br/>
    Mr Prenom Nom,
    </p>
     
    <p style="font-family:arial; color:#89146A; font-size:14px;font-weight:bold;">
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    </p>
     
    </div>
     
    </td>
    </tr>
    </table>
     
    </body>
    </html>
    Aide bienvenue.

    [EDIT] La solution me semble-t-il est dans la superposition de layer. Petite avancée donc en créant deux div qui se chevauchent, dont l'un est construit sur un onload en répétant dans une fonction la balise <img> sur une boucle javascript.
    Ça marche, mais d'une part c'est moche et d'autre part je n'ai pas droit à du javascript.


    Solution qui marche sans background CSS avec Javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <html>
     
    <head>
    <script language="javascript">
    function computeImage() {
     
    var divh = document.getElementById('content').offsetHeight;
    var repeat = Math.floor(divh/46)+2;
     
    var texte = "<img src='http://teslahost.com/images/header.jpg'>";
    for (i=1; i<repeat; i++) {
     texte = texte + "<img src='http://teslahost.com/images/middle.jpg'/>";
    }
    document.getElementById('image').innerHTML = texte;
    }
     
    </script>
    </head>
     
    <body onload="computeImage()">
     
    <div id="image" style='position: absolute; top:15;width=966px; z-index:0;'></div>
     
    <div id="content" style="position: absolute; top:265px; left:50px; width:886px; text-align:justify; " >
    <p style="font-family:arial; color:#57575F; font-size:13px;font-weight:bold;"><br/>
    Mr Prenom Nom,
    </p>
     
    <p style="font-family:arial; color:#89146A; font-size:14px;font-weight:bold;">
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    Blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla blablabla
    </p>
    </div>
     
    </body>
    </html>

  2. #2
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Hello,

    Elle ressemble à quoi ton image ? Est-ce qu'un étirement ne pourrait pas donner le même résultat qu'une répétition ?
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 4
    Par défaut
    Bonjour Candy,

    Une image du type "http://teslahost.com/images/middle.jpg" cad effectivement qu'elle pourrait peut-être être étirée.
    Par contre, il faut pouvoir l'étirer sur toute la hauteur d'un texte variable. Et je n'ai pas droit à du javascript pour calculer une taille par exemple.

    Tu peux faire copier/coller des deux exemples précédents dans un .html pour voir ce que ça donne.

  4. #4
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Tu peux faire qqch comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <style type="text/css">
    	#main,p {position:relative;}
    	#main {width:966px;}
    	p {padding:1em 40px;}
    	img {position:absolute;top:0;left:0;height:100%;width:100%;}
     
    </style>
    </head>
    <body>
    <div id="main">
    	<img src="images/middle.jpg" alt="" />
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc at augue eget mi bibendum aliquam sed rutrum ipsum. Sed porttitor nibh et diam ultricies et accumsan est dignissim. Pellentesque ac dictum metus. Aenean vel sapien leo, ullamcorper tincidunt sem. Sed bibendum purus quis nisl sollicitudin venenatis cursus massa blandit. In vulputate turpis quis eros pretium rutrum. Aenean blandit malesuada placerat. Mauris augue urna, aliquam sed fermentum sed, eleifend at purus. Aenean sapien lorem, sollicitudin et molestie in, feugiat sit amet velit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In feugiat convallis lobortis. Pellentesque venenatis augue eget erat luctus venenatis. Nulla a libero eget enim dignissim bibendum. Nullam vitae massa id nibh auctor mollis vitae at eros. Proin tempus lectus vel turpis blandit rhoncus. Sed semper, neque a porttitor feugiat, ligula nunc vestibulum mauris, ultrices porttitor ante justo semper nunc. Nunc tincidunt orci vel lacus imperdiet ac porta magna pretium. Curabitur imperdiet massa non ipsum bibendum a rutrum urna pellentesque. Sed ultricies, augue in aliquet dapibus, tortor diam elementum orci, ut ultricies metus dui at leo. </p>
    </div>
    </body>
    </html>
    Mais un simple border et background-color ne te sont-ils pas permis ?
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 4
    Par défaut
    J'ai le droit au border et background-color mais le fond sur lequel le texte s'affiche est plus complexe qu'un coloriage HTML.

    J'ai tenté ton code : il fonctionne sous FF3.6 mais pas sous IE6 où l'image ne s'adapte pas à la longueur du paragraphe. En tout cas, ton idée d'alongement de l'image en hauteur semble très prometteuse.

  6. #6
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Pour IE6, j'aurais envie de dire: OSEF

    Si cela fait partie de ton cahier des charges, tu devrais pouvoir régler le pb en ajoutant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <!--[if lt IE 7]>
    <style type="text/css">
    	img { height:expression(this.parentNode.offsetHeight+"px");}
    </style>
    <![endif]-->
    mais cela ne fonctionnera pas si javascript est désactivé, il me semble.
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 4
    Par défaut
    Merci Candy. Je vais voir si ca passe sous Outlook. J'avais tenté du javascript embedded qui avait été refusé pour des soucis de sécurité mais bon ça se tente.
    En tout cas, merci beaucoup de ton aide et de ta réactivité.

Discussions similaires

  1. Répéter une image en background
    Par solorac dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 17/05/2008, 12h36
  2. background : comment répéter une image à gauche ET à droite?
    Par lajarjille dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 29/01/2008, 22h09
  3. Afficher une image sans URL dans un forum
    Par Vanesse dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 01/03/2006, 18h55
  4. Ne pas répéter une image de fond
    Par valette dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 05/01/2005, 22h49
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 20h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo