If I want to add width to 100% to a figure (image) shortcode, so it rendered correctly in all browser sizes (desktop/laptop/mobile/ipad) how do I do it ?
Below is SCSS for figure that I use for my blog template. It was taken from Bourbon and I will modified it depend on my need.
figure{
margin: 1em auto;
@include display(inline-flex);
@include flex-direction(column);
@include border-width(em(1));
@include border-style(solid);
@include border-color(#eeeeee);
@include border-top-radius(em(5));
@include border-bottom-radius(em(5));
background-color: $silver;
figcaption{
margin: 0;
padding: 0 em(10);
text-align: center;
font-size: smaller;
font-style: italic;
}
img{
@include border-color(transparent);
@include border-width(em(1));
max-width: 100%;
}
p{
margin-bottom: 0;
}
h4{
margin: 0;
}
}
I hope it help you too.
Thanks, couple of more follow up questions.
-
Do I just copy this scss in the style.css or do I need to reference this in the figure shortcode file in the layouts/shortcodes file.
-
How do I use it {{< figure src="/media/spf13.jpg" title=“Steve Francia” >}}, and how do I set say backgroud-color or font-color, do I have to change the scss.
Thanks, Rajesh
This is how I use figure in my article-topic.md file.
{{<
figure src="/media/blog/link-to-image.png"
caption="The caption."
alt="The alternate"
>}}
How do you edit your template?
I guest that will depend on that. For me, I create it my template using html and scss first. Once I satisfied with the look. I will start convert it to hugo template.
The compile css for the scss above is:
figure {
margin: 1em auto;
display: -webkit-inline-box;
display: -moz-inline-box;
display: inline-box;
display: -webkit-inline-flex;
display: -moz-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
box-orient: vertical;
-webkit-box-direction: normal;
-moz-box-direction: normal;
box-direction: normal;
-webkit-flex-direction: column;
-moz-flex-direction: column;
flex-direction: column;
-ms-flex-direction: column;
border-width: 0.0625em;
border-style: solid;
border-color: #eeeeee;
border-top-left-radius: 0.3125em;
border-top-right-radius: 0.3125em;
border-bottom-left-radius: 0.3125em;
border-bottom-right-radius: 0.3125em;
background-color: #eeeeee; }
figure figcaption {
margin: 0;
padding: 0 0.625em;
text-align: center;
font-size: smaller;
font-style: italic; }
figure img {
border-color: transparent;
border-width: 0.0625em;
max-width: 100%; }
figure p {
margin-bottom: 0; }
figure h4 {
margin: 0; }
Just copy and paste it to your style.css.
Yes, to change the background color, you need to change the css.
For example:
background-color: red; // This will change background color
color: blue; // This will change font color
You can remove code that you don’t use. As you can see, mine is quite long.
I hope that help you.