Increasing post width with CSS?

In my forum,
1.I have an ample amount of space to use it for extending the post created by user.It rather looks clumpsy now.I want to utilize the space so that the post looks good,like the homepage is screen friendly using code:

@media screen and (min-width: 1400px) {
  .wrap { max-width: 1500px; }
}

I want the post to be such
eg.

Please suggest how to do this

Any suggestion will be helpful

not a developer, but i think this may help:

https://meta.discourse.org/t/material-design-for-discourse/28864

1 Like

My forum slightly increases post size by:

.topic-body{
  min-width: 65%;
}

You can adjust as needed.

5 Likes

Consider readability before making it too wide:

http://baymard.com/blog/line-length-readability

7 Likes

I ended up going 75% because we are a very media heavy site. That’s the great part about Discourse, you can make it whatever you want it to be as long as you make sure it doesn’t conflict with other elements on the page.

I had 75 originally but line breaks in the “reply by new topic” button looked really weird, along with the topic links in the gutter.

I think the team has plans to move the topic links below the posts and clear out the gutter in a later release, but until then just be mindful of the gutter content.

Brilliant! Thank you for this snippet!

I changed my Topic Body as follows (by adding to my CSS):

.topic-body {
  min-width: 80%;
}

After switching to 80%, I noticed that the Topic Timeline scrunches over the Topic Body starting at 1260px, until the time when it naturally disappears for mobile (maybe 800px?)

See Screenshot of problem

So I added this little snippet to my CSS to remove the timeline when the screen size shrinks below 1260px…

@media screen and (max-width: 1260px) {
  .topic-timeline {
    display: none;
  }
}

Works like a charm now!

4 Likes

I think something like this makes more sense:

@media screen and (min-width: 1260px) {
  .topic-body {
    min-width: 80%;
  }
}
1 Like

I haven’t tried this but I suspect you’re correct! My CSS is not always the best approach! I just try a few different approaches until I get the page to do what I want! I’m working on building a new community now. If I end up wanting this same thing then I’ll report back on how it goes! Thanks for chiming in with another (probably better) solution!

Here is also my theme component with this CSS. It’s the recommended way now to avoid editing all themes manually.

2 Likes

I refactored and extended this component.

The size is now specified in px instead of % to avoid confusion and to be able to use it in other places.

.topic-post:not(.d-toc-post) .topic-body {
  width: calc(#{$topic-body-width} + (#{$topic-body-width-padding} * 2) + #{$additional_post_width});
}

The first two parts of the sum here are taken from the standard Discourse SCSS.

There are some small UI improvements like increasing the size of separators and moderator action posts too, and it is now disabled on DiscoTOC posts because it behaves weirdly here.

Also I added an option to increase the editor max width to make the preview match the post width. Not perfectly the same width, but the standard one has the same issue.

1 Like

Very nice @Alex_P. If you could make it work with Material Design Theme would be great, the issue there is that the avatar on the left of the post jumps from the side to above the post itself.