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 :

Bordure uniquement une partie d'un côté


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Particulier
    Inscrit en
    Janvier 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Janvier 2013
    Messages : 80
    Par défaut Bordure uniquement une partie d'un côté
    Bonjour !

    Après quelques recherches sur le web, vaines, je me tourne vers vous pour savoir comment utiliser border sur uniquement une partie d'un côté. Une image vaut mieux qu'un grand discours :
    Voilà ce que je cherche à faire.
    Je compte l'utiliser sur un <div>, et un <p>.

    Merci d'avance !

  2. #2
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Indépendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par défaut
    Bonjour,

    Citation Envoyé par X260SH
    Une image vaut mieux qu'un grand discours :
    un code vaut mieux qu'une image.

  3. #3
    Membre confirmé
    Homme Profil pro
    Particulier
    Inscrit en
    Janvier 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Janvier 2013
    Messages : 80
    Par défaut
    C'est vrai, petit oublie, désolé...
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <doctype HTML>
    <html>
    <head>
    </head>
    <body>
    <div>Titre</div>
    <div class="article">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis congue sem, quis dictum nulla feugiat ut. Etiam vitae ultrices mauris. Fusce tempus sem ac erat sollicitudin, et bibendum augue scelerisque. Proin semper condimentum odio ac commodo. Pellentesque sed justo eget lectus hendrerit hendrerit vitae vel arcu. Nam ornare eros aliquam dolor tempus, et molestie nisi facilisis. Sed adipiscing scelerisque odio, eget lobortis enim aliquam eget. Phasellus egestas mauris eget luctus scelerisque. Fusce bibendum turpis lobortis urna sagittis vehicula. Sed non magna erat. In varius, urna eu condimentum rhoncus, libero mi feugiat ligula, vitae feugiat est justo in lacus. Phasellus porta orci sit amet tempor feugiat.</p>
    <p>Quisque luctus ipsum eget accumsan consequat. Etiam aliquam sapien at sapien venenatis, molestie placerat mauris ultricies. Etiam sit amet lobortis lectus, iaculis volutpat sem. Sed porta enim a nisl vulputate, in convallis massa lobortis. Cras justo tortor, tempor ut purus a, pretium congue risus. In aliquet est quis mi placerat pretium. Aliquam auctor auctor ultrices. In hac habitasse platea dictumst. Aliquam nulla risus, porta ac elit ac, vestibulum malesuada elit. Proin in ultrices enim. Praesent id tristique est. Nullam convallis eget felis eget vehicula. Nam molestie urna vitae semper congue. Maecenas lectus nulla, venenatis eget interdum sit amet, pulvinar sed libero.</p>
    </div>
    </body>
    </html>
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    p
    {
    padding:15px;
    text-indent:2em;
    text-align:justify;
    }
     
    div.article
    {
    border:1 solid #000000; /*C'est ici que je voudrais définir la bordure montrée dans l'image. */
    }

  4. #4
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Indépendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par défaut
    Une solution rapide avec des pseudo-éléments before et after.
    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
    p{
    padding:15px;
    text-indent:2em;
    text-align:justify;
    }
     
    .article{
      position: relative;
      width:800px;
      border-top:3px solid #000000;
      border-left:3px solid #000000; 
      border-bottom:3px solid #000000; 
    }
    .article:after{
      content:"";
      height: 100px;
      border-left:3px solid black;
      position: absolute;
      top:0;
      right:0;
    }
    .article:before{
      content:"";
      height: 100px;
      border-left:3px solid black;
      position: absolute;
      bottom:0;
      right:0;
    }
    http://codepen.io/anon/pen/pmtvj

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bien vu ! (je n'y avais pas pensé !)

    Du coup, j'ai amélioré pour ajouter le petit trait horizontal en bas à droite.
    Comme :after et :before sont déjà pris, j'ai mis une balise <ins></ins> avant </div> :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div>Titre</div>
    <div class="article">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis congue sem, quis dictum nulla feugiat ut. Etiam vitae ultrices mauris. Fusce tempus sem ac erat sollicitudin, et bibendum augue scelerisque. Proin semper condimentum odio ac commodo. Pellentesque sed justo eget lectus hendrerit hendrerit vitae vel arcu. Nam ornare eros aliquam dolor tempus, et molestie nisi facilisis. Sed adipiscing scelerisque odio, eget lobortis enim aliquam eget. Phasellus egestas mauris eget luctus scelerisque. Fusce bibendum turpis lobortis urna sagittis vehicula. Sed non magna erat. In varius, urna eu condimentum rhoncus, libero mi feugiat ligula, vitae feugiat est justo in lacus. Phasellus porta orci sit amet tempor feugiat.</p>
    <p>Quisque luctus ipsum eget accumsan consequat. Etiam aliquam sapien at sapien venenatis, molestie placerat mauris ultricies. Etiam sit amet lobortis lectus, iaculis volutpat sem. Sed porta enim a nisl vulputate, in convallis massa lobortis. Cras justo tortor, tempor ut purus a, pretium congue risus. In aliquet est quis mi placerat pretium. Aliquam auctor auctor ultrices. In hac habitasse platea dictumst. Aliquam nulla risus, porta ac elit ac, vestibulum malesuada elit. Proin in ultrices enim. Praesent id tristique est. Nullam convallis eget felis eget vehicula. Nam molestie urna vitae semper congue. Maecenas lectus nulla, venenatis eget interdum sit amet, pulvinar sed libero.</p>
    <ins></ins>
    </div>
    Code css : 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
    .article{
      position: relative;
      width:800px;
      //height:300px;
      border-top:1px solid #000000;
      border-left:1px solid #000000; 
      border-bottom:0; /* on efface la bordure basse */
    }
    .article:after{
      content:"";
      height: 100px;
      border-left:1px solid black;
      position: absolute;
      top:0;
      right:0;
    }
    .article:before{
      content:"";
      height: 100px;
      border-left:1px solid black;
      position: absolute;
      bottom:0;
      right:0;
    }
    .article ins{ /* trait horizontal en bas à droite */
      width: 80px; /* longueur du trait */
      height: 0px;
      border-bottom:1px solid black;
      position: absolute;
      bottom:0;
      right:0;
    }
    Ça ouvre des perspectives intéressantes...

  6. #6
    Membre confirmé
    Homme Profil pro
    Particulier
    Inscrit en
    Janvier 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Janvier 2013
    Messages : 80
    Par défaut
    C'est super, c'est exactement ce que je voulais ! Merci beaucoup !
    Cependant, je pense qu'avec cette méthode, on ne peux pas faire plus de deux lignes pour un côté. Donc, comment faire si je veux faire "trait-blanc-trait-blanc-trait" sur une bordure ?

    Outspeed : Merci beaucoup ! Il faut donc mettre une balise <ins>.
    Résolu.

  7. #7
    Invité
    Invité(e)
    Par défaut
    <ins> n'est pas obligatoire (c'était juste pratique pour l'exemple).

    On peut très bien mettre des balises :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="trait1"></div>
    <div id="trait2"></div>
    <div id="trait3"></div>
    ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SimpleXML] Parser uniquement une partie d'un tableau
    Par LWKTECH dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 30/09/2015, 12h02
  2. Analyser uniquement une partie d'une table
    Par Invité dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 19/10/2010, 13h07
  3. Réponses: 11
    Dernier message: 27/05/2006, 00h07
  4. [HTML] Rafraichir uniquement une partie d'un page html
    Par andlio dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/03/2006, 15h40
  5. Réponses: 2
    Dernier message: 16/02/2006, 22h20

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