Bonjour, je souhaiterais faire un système de publication en css qui ressemble à ceci :

J'ai déjà commencer à faire quelque chose, j'y suis presque, je dois juste aligné, le commentaire et la date, j'ai ajouté un display:inline-block, ça na pas marché.
https://jsfiddle.net/Serg78/9x6x02gm/

6 réponses


Genki
Réponse acceptée

Voilà, j'ai fait du mieux que j'ai pu et j'approche du résultat souhaité, avec un code plus clair, plus simple et adapté à ton ancien code

https://jsfiddle.net/6cxk364x/2/

HTML :

<div class="colonnedroite">

    <!-- Publication #1 -->
    <div class="affichage_publication_membre">
        <span class="affichage_publication_membre_image">
          <img src="http://image.noelshack.com/fichiers/2016/12/1458770990-bzfcyinajvo.jpg"/>
        </span>

        <div class="affichage_publication_membre_message">
            <span class="nom">Cem Bal</span>
            <span class="message">Lorem ipsum dolor sit amet</span>
            <div class="action">
                <span class="date">Il y a 5 minutes</span> |
                <span class="commentaires"><a href="">Commenter</a></span>
                <span class="like">J'aime ♥</span>
            </div> <!-- Action -->
        </div> <!-- Message -->
    </div> <!-- Publication -->

    <!-- Publication #2 -->
    <div class="affichage_publication_membre">
        <span class="affichage_publication_membre_image">
          <img src="http://image.noelshack.com/fichiers/2016/12/1458770990-bzfcyinajvo.jpg"/>
        </span>

        <div class="affichage_publication_membre_message">
            <span class="nom">Cem Bal</span>
            <span class="message">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span>
            <div class="action">
                <span class="date">Il y a 5 minutes</span> |
                <span class="commentaires"><a href="">Commenter</a></span>
                <span class="like">J'aime ♥</span>
            </div> <!-- Action -->
        </div> <!-- Message -->
    </div> <!-- Publication -->

    <!-- Publication #3 -->
    <div class="affichage_publication_membre">
        <span class="affichage_publication_membre_image">
          <img src="http://image.noelshack.com/fichiers/2016/12/1458770990-bzfcyinajvo.jpg"/>
        </span>

        <div class="affichage_publication_membre_message">
            <span class="nom">Cem Bal</span>
            <span class="message">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</span>
            <div class="action">
                <span class="date">Il y a 5 minutes</span> |
                <span class="commentaires"><a href="">Commenter</a></span>
                <span class="like">J'aime ♥</span>
            </div> <!-- Action -->
        </div> <!-- Message -->
    </div> <!-- Publication -->
</div> <!-- Colonne droite -->

Et le CSS

.colonnedroite {
  border: 1px solid #ACACAC;
  padding: 5px;
  width:420px;
}

.affichage_publication_membre {
  border-bottom: 1px solid #ECECEC;
  width:100%;
  position:relative;
  margin-bottom:10px;
  min-height: 68px; /* La taille de l'image */
  padding-bottom: 10px;
}

.affichage_publication_membre:last-child {
  border: 0;
  padding-bottom: 0;
}

.affichage_publication_membre_image img {
  width:68px;
  height:68px;
    position: absolute;
}

.affichage_publication_membre_message {
  margin-left: 80px;
}

.affichage_publication_membre_message .nom {
  display: block;
    font-weight: bold;
    color: #45668f;
  font-size: 15px;
}

.affichage_publication_membre_message .message {
  font-size: 13px;
}

.affichage_publication_membre_message .action {
    font-size: 11px;
    margin-top: 5px;
}

.affichage_publication_membre_message .action .date {
    color: #808080;
}

.affichage_publication_membre_message .action .commentaires a {
    color:#45668f;
    text-decoration:none;
}

.affichage_publication_membre_message .action .like{
    float:right;
    color: #C9D8E5;
}       

Le mieux est que tu compares ton code au mien, que tu vois où tu t'es planté et ce que tu aurais du faire, comprends mon code, je peux aussi t'expliquer certaines parties que tu comprends pas si besoin.

Si tu as d'autres question, hésite pas

Je t'ai modifier un peu le code pour que ça y ressemble, le problème est que un div fait office de block et donc passe à la ligne, pour l'usage, un span suffit.

            <div class="colonnedroite">
                <div class="affichage_publication_membre">
                    <div class="affichage_publication_membre_image">
                        <div class="image"><img src="http://image.noelshack.com/fichiers/2016/12/1458759587-xdsq.jpg"/></div>
                    </div>
                    <div class="affichage_publication_membre_message">
                        <div class="nom">Cem Bal </div>
                        <div class="message">fsdfsdfs fsd fsd fsd fsdf sd fsdfsdfs fsd fsd fsd fsdf sdfsdfsdfs fsd fsd f
                        sd fsdf sdfsdfsdfs fsd fsd fsd fsdf sdfsdfsdfs fsd fsd fsd fsdf sdfsdfsdfs fsd fsd fsd fsdf 
                        sdfsdfsdfs fsd fsd fsd fsdf sdfsdfsdfs fsd fsd fsd fsdf sdfsdfsdfs fsd fsd fsd fsdf sdfsdfsdfs fsd fsd fsd fsdf sd</div>
                        <div class="action">
              <span class="date">Il y a 5 minutes</span> | <span class="commentaires"><a href="">Commenter</a></span>

              <span class="like">
              J'aime ♥
              </span>
            </div>
                    </div>
                </div>
            </div>

Le css :

            .affichage_publication_membre {
            width:420px;
            position:relative;
            }
            .affichage_publication_membre_image {
            width:68px; height:75px; float:left;
            position: absolute;
            }
            .affichage_publication_membre_image .image img {
            background-size: cover;
            width: 68px;
            height: 68px;
            float: left;    
            }

            .affichage_publication_membre_message {
            width:390px;
            margin-left: 80px;
            position: relative;
            }
            .affichage_publication_membre_message .message {
            overflow: hidden;           
            word-wrap: break-word;
            width:380px;
            }
            .affichage_publication_membre_message .nom {
            overflow: hidden;           
            width:380px;
            font-weight: bold;
            color: #45668f;
            }
            .affichage_publication_membre_message .action {
            overflow: hidden;           
            width:380px;
            display:inline-block;
      font-size: 11px;
      margin-top: 5px;
            }       
      .affichage_publication_membre_message .action .like{
            float:right;
      color: #C9D8E5;
            }       
            .affichage_publication_membre_message .action .date {
            color: #808080;
            }
            .affichage_publication_membre_message .action .commentaires a {
            color:#45668f;
            text-decoration:none;
            display:inline-block;
            }

Modifies à ton usage maintenant :)

Serg77
Auteur

Ah génial super sympa, par contre je rencontre un petit problème, quand il y a plusieurs publications comme ceci :
https://jsfiddle.net/Serg78/kcwynqgn/

Il bug dans la séparation, j'ai ajouté un

        .affichage_publication_membre_message {
        width:390px;
        margin-left: 80px;
        margin-bottom:10px;
        position: relative;
        }

Met un

margin-bottom: 30px;

Dans affichage publication membre, et non pas le message, ça devrait aller
Et enlève celui dans membre_message

Serg77
Auteur

C'est fait, mais il y a eu aucun changement.
https://jsfiddle.net/Serg78/p7x3v6ss/

Regarde, ici il y a un gros décallage.

https://jsfiddle.net/Serg78/xjs2utqu/

En temps réel sur mon site ça donne ça :

http://image.noelshack.com/fichiers/2016/12/1458806058-fsfs.png

Il y a un gros décallage.

Le résultat que j'aimerai : http://image.noelshack.com/fichiers/2016/12/1458811427-capture1049.png

Serg77
Auteur

D'accord, merci bien, j'étais dessus depuis 2h00..