Add line break in css using class / injecting a line break in css
Get link
Facebook
X
Pinterest
Email
Other Apps
-
Injecting a Line Break
I had a little situation where I had a header with a span in it, and I wanted to make sure to put a line break before the span. For the record, there really isn't anything wrong with just chucking a <br> tag before it (and in fact the ability to show/hide that is very useful). But... it always feels a little weird to have to use HTML to achieve a layout thing.
So let's take a journey. A journey in which we say "But..." a lot.
<h1class="one">
Break right after this
<!-- <br> could go here, but can we do it with CSS? --><span>
and before this
</span></h1>
Rather than a <span>, we could use a <div>, and we'll get that break just by virtue of the div being a block-level element.
But we're using a span on purpose, because of the design. The text after the break should be inline/inline-block, because it's going to have a background and padding and such.
That actually works. But... because of the padding and background, it leaves a little chunk of that behind when the line breaks:
We could fix the awkward-left-edge-hugging on by using box-decoration-break: clone;, but... that just leaves a bigger chunk up top:
box-decoration-break is great for some issues, but not this one.
If we made the span inline-block, the break would happen within that block, which isn't what we want either:
Making the pseudo element block-level and leaving the span alone doesn't do the trick either:
#You could get a little weird and inject the actual text with a pseudo element
This was Aaron Bushnell's idea. The trick here is to make the span block level, but then inject the text with a pseudo element and style it as an inline element.
I've long been a fan of pseudo-element trickery, but this feels slightly dangerous in that you may be hurting accessibility. I think some screen readers read pseudo-elements, but I don't think all, nor are they supposed to. Not to mention you can't copy and paste all the text this way. At least the text is still maintained entirely in the HTML!
My favorite idea came from Thierry Koblentz. Just make the span display: table; and you're done. It's not tabular data of course, but that doesn't matter. The fact you can force table layout from CSS is all about exploiting the unique layout properties of table layout — not semantics.
This tag is useful to give a link preview with custom post featured image, when you share the link post with social sites like- Facebook, Whatsapp, Twitter etc. og refers to Open Graph meta tag, you have to add add following line with your image address in the header part of the page <meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" /> This is the way to set a particular static image as an open graph meta tag, but if you want to change image dynamically or according to your post then you have to follow below mentioned code. <meta property="og:image" content="<?php echo wp_get_attachment_url(get_post_thumbnail_id($post->ID)); ?>" />
Comments
Post a Comment