Skip to content

Quote design CSS

Solved Customisation
15 2 3.1k 1
  • b9ed974b-9f21-43ef-ae64-02f2841139d6-image.png

    Hi I would like to change quote on my forum like this because I find it more logical but I break my head for not much with blockquote:after

    Any help would be appreciated 🙂

    Thanks in advance

  • b9ed974b-9f21-43ef-ae64-02f2841139d6-image.png

    Hi I would like to change quote on my forum like this because I find it more logical but I break my head for not much with blockquote:after

    Any help would be appreciated 🙂

    Thanks in advance

    @DownPW Something like this ?

    a09ccec1-5560-4924-8f75-9b63e71b0bef-image.png

    Here’s some CSS you can play with

    blockquote:after {
        border-top: 20px solid #eee;
        top: 9px; /* changes to top position negates original bottom */
        content: "";
        position: absolute;
        left: -19px; /* changes to left position negates original right */
    }
    blockquote {
        font-size: inherit;
        border-left: 5px solid #eee;
        background: #eeeeee;
        border-radius: 6px;
        margin: 0 auto 40px;
        padding: 15px;
        position: relative;
        margin-left: 50px; /* move to the right to allow space for speech bubble */
    }
    
  • @DownPW Something like this ?

    a09ccec1-5560-4924-8f75-9b63e71b0bef-image.png

    Here’s some CSS you can play with

    blockquote:after {
        border-top: 20px solid #eee;
        top: 9px; /* changes to top position negates original bottom */
        content: "";
        position: absolute;
        left: -19px; /* changes to left position negates original right */
    }
    blockquote {
        font-size: inherit;
        border-left: 5px solid #eee;
        background: #eeeeee;
        border-radius: 6px;
        margin: 0 auto 40px;
        padding: 15px;
        position: relative;
        margin-left: 50px; /* move to the right to allow space for speech bubble */
    }
    

    @phenomlab If you’d like the effect I use here, that’s this chunk of CSS code (but of course applies to posts directly)

    li.self-post .content:not(.isSolved [component="post/content"]):after {
        border-left: 20px solid transparent;
        border-top: 20px solid var(--response);
        top: 60px;
        content: "";
        position: absolute;
        left: 186px;
    }
    
  • @DownPW Something like this ?

    a09ccec1-5560-4924-8f75-9b63e71b0bef-image.png

    Here’s some CSS you can play with

    blockquote:after {
        border-top: 20px solid #eee;
        top: 9px; /* changes to top position negates original bottom */
        content: "";
        position: absolute;
        left: -19px; /* changes to left position negates original right */
    }
    blockquote {
        font-size: inherit;
        border-left: 5px solid #eee;
        background: #eeeeee;
        border-radius: 6px;
        margin: 0 auto 40px;
        padding: 15px;
        position: relative;
        margin-left: 50px; /* move to the right to allow space for speech bubble */
    }
    

    @phenomlab said in Quote design CSS:

    @DownPW Something like this ?

    a09ccec1-5560-4924-8f75-9b63e71b0bef-image.png

    Here’s some CSS you can play with

    blockquote:after {
        border-top: 20px solid #eee;
        top: 9px; /* changes to top position negates original bottom */
        content: "";
        position: absolute;
        left: -19px; /* changes to left position negates original right */
    }
    blockquote {
        font-size: inherit;
        border-left: 5px solid #eee;
        background: #eeeeee;
        border-radius: 6px;
        margin: 0 auto 40px;
        padding: 15px;
        position: relative;
        margin-left: 50px; /* move to the right to allow space for speech bubble */
    }
    

    yes exactly that 😉

  • phenomlabundefined phenomlab has marked this topic as solved on
  • @phenomlab If you’d like the effect I use here, that’s this chunk of CSS code (but of course applies to posts directly)

    li.self-post .content:not(.isSolved [component="post/content"]):after {
        border-left: 20px solid transparent;
        border-top: 20px solid var(--response);
        top: 60px;
        content: "";
        position: absolute;
        left: 186px;
    }
    

    @phenomlab said in Quote design CSS:

    @phenomlab If you’d like the effect I use here, that’s this chunk of CSS code (but of course applies to posts directly)

    li.self-post .content:not(.isSolved [component="post/content"]):after {
        border-left: 20px solid transparent;
        border-top: 20px solid var(--response);
        top: 60px;
        content: "";
        position: absolute;
        left: 186px;
    }
    

    What does he does ?

  • @phenomlab said in Quote design CSS:

    @phenomlab If you’d like the effect I use here, that’s this chunk of CSS code (but of course applies to posts directly)

    li.self-post .content:not(.isSolved [component="post/content"]):after {
        border-left: 20px solid transparent;
        border-top: 20px solid var(--response);
        top: 60px;
        content: "";
        position: absolute;
        left: 186px;
    }
    

    What does he does ?

    @DownPW This

    a2a8a94c-bd7e-435c-a356-00191f91f4be-image.png

  • Ak ok 😉
    Thanks Mark !!!

  • phenomlabundefined phenomlab referenced this topic on
  • @phenomlab said in Quote design CSS:

    blockquote:after {
    border-top: 20px solid #eee;
    top: 9px; /* changes to top position negates original bottom /
    content: “”;
    position: absolute;
    left: -19px; /
    changes to left position negates original right /
    }
    blockquote {
    font-size: inherit;
    border-left: 5px solid #eee;
    background: #eeeeee;
    border-radius: 6px;
    margin: 0 auto 40px;
    padding: 15px;
    position: relative;
    margin-left: 50px; /
    move to the right to allow space for speech bubble */
    }

    @phenomlab

    I can’t move the blockquote:after to the left 😞

    cb76027f-026a-4f5a-838d-1659bc114865-image.png

    6220f944-1394-42c2-b10d-ab4b3f6bfea9-image.png

  • @phenomlab said in Quote design CSS:

    blockquote:after {
    border-top: 20px solid #eee;
    top: 9px; /* changes to top position negates original bottom /
    content: “”;
    position: absolute;
    left: -19px; /
    changes to left position negates original right /
    }
    blockquote {
    font-size: inherit;
    border-left: 5px solid #eee;
    background: #eeeeee;
    border-radius: 6px;
    margin: 0 auto 40px;
    padding: 15px;
    position: relative;
    margin-left: 50px; /
    move to the right to allow space for speech bubble */
    }

    @phenomlab

    I can’t move the blockquote:after to the left 😞

    cb76027f-026a-4f5a-838d-1659bc114865-image.png

    6220f944-1394-42c2-b10d-ab4b3f6bfea9-image.png

    @DownPW did you add this line into blockquote ?

    margin-left: 50px; /* move to the right to allow space for speech bubble */
    

    You have to change this margin otherwise the :after sudonym won’t display as it needs to occupy the space left by the above CSS change.

  • @DownPW did you add this line into blockquote ?

    margin-left: 50px; /* move to the right to allow space for speech bubble */
    

    You have to change this margin otherwise the :after sudonym won’t display as it needs to occupy the space left by the above CSS change.

    @phenomlab

    If I use your code :

    blockquote:after {
        border-top: 20px solid #eee;
        top: 9px; /* changes to top position negates original bottom */
        content: "";
        position: absolute;
        left: -19px; /* changes to left position negates original right */
    }
    blockquote {
        font-size: inherit;
        border-left: 5px solid #eee;
        background: #eeeeee;
        border-radius: 6px;
        margin: 0 auto 40px;
        padding: 15px;
        position: relative;
        margin-left: 50px; /* move to the right to allow space for speech bubble */
    }
    

    I have this :

    d2924d30-19d3-4946-a478-6a2953ed8d6b-image.png

  • @phenomlab

    If I use your code :

    blockquote:after {
        border-top: 20px solid #eee;
        top: 9px; /* changes to top position negates original bottom */
        content: "";
        position: absolute;
        left: -19px; /* changes to left position negates original right */
    }
    blockquote {
        font-size: inherit;
        border-left: 5px solid #eee;
        background: #eeeeee;
        border-radius: 6px;
        margin: 0 auto 40px;
        padding: 15px;
        position: relative;
        margin-left: 50px; /* move to the right to allow space for speech bubble */
    }
    

    I have this :

    d2924d30-19d3-4946-a478-6a2953ed8d6b-image.png

    @DownPW is this in production ?

  • @DownPW is this in production ?

    @phenomlab nope

  • PM to you

  • It’s Ok with this code 🙂

    blockquote {
        font-size: inherit;
        border-left: 5px solid #eee;
        background: #eeeeee;
        border-radius: 6px;
        margin: 0 auto 40px;
        padding: 15px;
        position: relative;
        margin-left: 20px; /* move to the right to allow space for speech bubble */
    }
    
    blockquote:after {
        border-left: 20px solid transparent;
        border-top: 20px solid #eee;
        top: 10px;
        content: "";
        position: absolute;
        left: -20px;
    }
    
  • It’s Ok with this code 🙂

    blockquote {
        font-size: inherit;
        border-left: 5px solid #eee;
        background: #eeeeee;
        border-radius: 6px;
        margin: 0 auto 40px;
        padding: 15px;
        position: relative;
        margin-left: 20px; /* move to the right to allow space for speech bubble */
    }
    
    blockquote:after {
        border-left: 20px solid transparent;
        border-top: 20px solid #eee;
        top: 10px;
        content: "";
        position: absolute;
        left: -20px;
    }
    

    @DownPW yes, that does make sense actually. I forgot to mention the layout of Sudonix is custom so that would have an impact on the positioning.

    Good spot 🙂


Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • Rotating Star Effect

    Solved Let's Build It wordpress css
    17
    12 Votes
    17 Posts
    3k Views
    @phenomlab thanks a lot for these, both of the below are awesome! https://codepen.io/bennettfeely/pen/vYLmYJz https://codepen.io/C-L-the-selector/pen/MWZbWBo
  • The best css to customize our logo?

    Solved Customisation css
    2
    1 Votes
    2 Posts
    1k Views
    @Sala This should look better .sidenav .navbar-brand { padding-top: 0.5rem; padding-bottom: 0.5rem; } [image: 1669026666905-e5cec20e-be36-4ee8-9129-fd11ad4656ac-image.png] You can increase the top and bottom padding by increasing the values above.
  • answers appearance css code request

    Solved Customisation css answers
    11
    1
    1 Votes
    11 Posts
    2k Views
    @DownPW yes, because of the modifications that Sudonix uses, you’ll need to tailor to fit your needs.
  • [NODEBB] Help for my custom CSS

    Solved Customisation nodebb css bugfix
    237
    49 Votes
    237 Posts
    86k Views
    @baris said: You should change your selectors so it doesn’t look at the entire document. You probably only want to apply fancybox to stuff inside the #content element which is what changes when the user navigates around the page. So use $('#content a').... for your selectors then the forum logo in the header won’t be selected. I modified the JS Fancybox code now and this code and it seem better // --------------------------------------------- // Fancybox Media Reader (Without Website Logo) // --------------------------------------------- if (top.location.pathname !== '/login') { $(window).on('action:posts.loaded', function(data) { console.log("Polling DOM for lazyLoaded images to apply Fancybox"); $(document).ready(function() { $('#content a').not('.forum-logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() { $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate"); }); }); }); } if (top.location.pathname !== '/login') { $(document).ready(function() { $(window).on('action:ajaxify.end', function(data) { $('#content a').not('.logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() { $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate"); data.preventDefault() // Strip out the images contained inside blockquotes as this looks nasty :) $('#content blockquote img').remove(); }); Fancybox.bind( '#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]', { groupAll: true, } ); }); }); } // Chat fancybox - fires when chat module loaded and AJAX calls new chat $(document).ready(function() { $(window).on('action:chat.loaded', function(data) { // >>> Se limiter au contenu principal uniquement <<< $('#content img').not('.forum-logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() { var newHref = $(this).attr("src"); $(this).wrap("<a class='fancybox' href='" + newHref + "'/>"); $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate"); data.preventDefault(); // Strip out the images contained inside blockquotes as this looks nasty :) $('#content blockquote img').remove(); }); Fancybox.bind( '#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]', { groupAll: true, } ); }); }); For the logo, I must use overflow: visible !important; on [component="brand/logo"] /* --- Logo --- */ [component="brand/logo"] { max-height: 50px; width: auto; height: auto; max-width: 100%; display: block; object-fit: contain; object-position: left center; overflow: visible !important; } Better result !!
  • [NodeBB] Import custom Font

    Solved Customisation custom fonts nodebb css
    12
    3 Votes
    12 Posts
    3k Views
    @cagatay you’ll need to define this in the body tag (or another element if you want greater or more granular targets) - for example body { font-family: "Poppins"; font-size: 16px; } Essentially, you use the font-size CSS directive.
  • Bug Navbar CSS

    Solved Customisation navbar css
    3
    1 Votes
    3 Posts
    996 Views
    Not better way. Thanks.
  • [NODEBB] CSS Style Sheets SelectBox

    Locked Solved Customisation css
    112
    24 Votes
    112 Posts
    34k Views
    @DownPW as discussed in PM Seems to have been solved with the new JS code that you added allowing the version CSS file change!! Cache problem therefore with the JS of the Switcher theme Based on this, I will close this thread and reference https://sudonix.com/topic/207/nodebb-help-for-my-custom-css/27
  • CSS Help on my Flarum

    Solved Customisation
    5
    2
    2 Votes
    5 Posts
    1k Views
    @mike-jones Yes, you’ll typically see this type of behaviour if there is another style that has higher priority in the sense that yours will be overridden. Using !important will override the higher preference, but should be used sparingly rather than everywhere.