Skip to content

Quote design CSS

Solved Customisation
15 2 5.6k 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

    wrote on last edited by
    #2

    @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 */
    }
    
    wrote on last edited by
    #3

    @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 */
    }
    
    wrote on last edited by
    #4

    @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 😉

  • phenomlab 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;
    }
    
    wrote on last edited by
    #5

    @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 ?

    wrote on last edited by
    #6

    @DownPW This

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

  • wrote on last edited by
    #7

    Ak ok 😉
    Thanks Mark !!!

  • phenomlab phenomlab referenced this topic on
  • wrote on last edited by
    #8

    @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

    wrote on last edited by
    #9

    @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.

    wrote on last edited by
    #10

    @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

    wrote on last edited by
    #11

    @DownPW is this in production ?

  • @DownPW is this in production ?

    wrote on last edited by
    #12

    @phenomlab nope

  • wrote on last edited by
    #13

    PM to you

  • wrote on last edited by
    #14

    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;
    }
    
    wrote on last edited by
    #15

    @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
  • how to hide "moved" badge with CSS?

    Solved Customisation nodebb
    12
    1
    3 Votes
    12 Posts
    4k Views
    phenomlab
    @crazycells ah, I see. That makes sense.
  • CSS border gradients

    Blog gradient border css
    10
    3
    2 Votes
    10 Posts
    3k Views
    cagatay
    ah f5 need
  • The theme came with space on left side

    Solved WordPress css
    7
    3 Votes
    7 Posts
    2k Views
    Sala
    @phenomlab yes it’s a different theme. The other one was not offering much on editable sidebar. It was like flarum hahah
  • Rotating Star Effect

    Solved Let's Build It wordpress css
    17
    12 Votes
    17 Posts
    5k Views
    Hari
    @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
  • 1 Votes
    1 Posts
    2k Views
    No one has replied
  • hover link effect

    Solved Customisation css link hover
    18
    1
    6 Votes
    18 Posts
    7k Views
    phenomlab
    @DownPW Looking at the underlying code, class start is being added on hover by jQuery in this function document.querySelectorAll(".button-gradient, .button-transparent").forEach((button) => { const style = getComputedStyle(button); const lines = document.createElement("div"); lines.classList.add("lines"); const groupTop = document.createElement("div"); const groupBottom = document.createElement("div"); const svg = createSVG( button.offsetWidth, button.offsetHeight, parseInt(style.borderRadius, 10) ); groupTop.appendChild(svg); groupTop.appendChild(svg.cloneNode(true)); groupTop.appendChild(svg.cloneNode(true)); groupTop.appendChild(svg.cloneNode(true)); groupBottom.appendChild(svg.cloneNode(true)); groupBottom.appendChild(svg.cloneNode(true)); groupBottom.appendChild(svg.cloneNode(true)); groupBottom.appendChild(svg.cloneNode(true)); lines.appendChild(groupTop); lines.appendChild(groupBottom); button.appendChild(lines); button.addEventListener("pointerenter", () => { button.classList.add("start"); }); svg.addEventListener("animationend", () => { button.classList.remove("start"); }); }); }) The CSS for start is below .button-gradient.start .lines svg, .button-transparent.start .lines svg { animation: stroke 0.3s linear; } And this is the corresponding keyframe @keyframes stroke { 30%, 55% { opacity: 1; } 100% { stroke-dashoffset: 5; opacity: 0; } } It’s using both CSS and SVG, so might not be a simple affair to replicate without the SVG files.
  • Blinking text Effect

    Customisation nodebb text effect css
    3
    5 Votes
    3 Posts
    2k Views
    DownPW
    @phenomlab I love it too @phenomlab said in Blinking text Effect: Has that “broken neon light” look that you see in films. It’s exactly that, kind of old neon signs of bar or pubs a bit cyberpunk too
  • [NODEBB] Help for my custom CSS

    Solved Customisation nodebb css bugfix
    258
    49 Votes
    258 Posts
    168k Views
    cagatay
    mark hi, Refused to apply style from ‘https://efelsefe.com/assets/customfonts/FontAwesome-6-Pro/pro/css/v4-font-face.css’ because its MIME type (‘text/plain’) is not a supported stylesheet MIME type, and strict MIME checking is enabled. I keep getting this error.