Group Toolbar Menu

Columns Support

  • What are columns?

    Columns are a new feature in RPR 2.0 that allow us to create more customized character and group profiles without needing to know a lot of coding. It conveniently creates new div layers to wrap content inside of and utilizes CSS flex and width properties to decide how much space each div layer needs to take up.

    So, instead of two widgets being stacked (one above the other), we can now display them side-by-side without needing to make use of the columns BBCode! This is much more user friendly and allows for much cooler customization.

    Rows are part of the column upgrade, but the majority of styles pre-2.0 aren't affected by this addition. They are cool additions that allow us to create neat dividers with certain styles though! My styles portfolio layout utilizes rows, and it's why each section is shown to be its own box if I want it to be. In contrast, this group's style does not format rows, so everything is wrapped inside on large container. :)
  • How does this affect styles?

    For the most part? It doesn't. Styles that don't support columns don't break, they just don't really... do anything with columns. All the widgets just get neatly stacked as they did before RPR 2.0 and that's the end of it. If you make a personal style for yourself and your profiles don't utilize columns, you'll be fine not worrying about this at all!

    If you do make styles for others, it's worth chucking in column support code. Depending on your style specifics, this can cause mild breakage, but don't worry! If you can't figure it out, head on over to our support forum and we'll get it sorted. :)

    Understanding columns code can be a powerful ally in your style creation game. There are many cool ways to utilize them to open up more creative avenues for your styles. Even if it feels daunting, I encourage you to give it a shot and play around with it. You might be surprised by the world that opens up to you!
  • Basic columns code

    Here is the common column code Kim provided in the Help section, with my own added commentary to help explain the code to you. It may still be confusing, but I hope it helps create a basic understanding to start with!

    If you want a formatted copy without my comments, scroll down to the collapse tag.

    Note: this is a basic starter kit for column code. You may need to make more adjustments than shown here, but for most styles it will be enough to enable columns and should cause no serious issues.
    Code:
    /* This first section basically 'resets' rows. It tells the browser that any floating divs have no business floating to either side of the rows, and they should be cleared on all sides. */ .row { clear: both; margin-bottom: 2rem; } .row_end { clear:both; } /* This simply adds margins to the .rows div, which is the layer that wraps around ALL of the content on the profile. If you have margin or padding issues with the rest of your style, setting the .rows margin to margin:0; can potentially fix things. */ .rows { margin: 0 40px; } /* This resets the padding and margins on the .widgets divs, which are the individual widgets you place inside columns. It also ensures that the list-style-type is not going to show any circles or discs! */ ul.widgets { list-style-type: none; padding: 0; margin: 0; } /* Now here's part of the juicy columns code we all want! This code sets the float for every column and adds some padding. It's what allows columns to be displayed side-by-side instead of stacked. col-12 is missing because col-12 is a full width column, meaning it never gets put side by side with any other columns. */ .col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1 { float: left; padding-right: 15px; padding-left: 15px; box-sizing: border-box; } /* This section formats the first and last divs found inside the .row-interior class to help avoid padding issues on the left and right side of a row. Nothing too fancy. :) */ .row-interior > div:first-child { padding-left: 0; } .row-interior > div:last-child { padding-right: 0; } /* THIS IS THE COLUMN MAGIC! As mentioned before, .col-12 is the full wdith column. It needs no flex and just be full width. When we go one step smaller (so one click smaller on the profile editor) the column will be .col-11. One step smaller is .col-10 and so forth. With each step smaller the flex and width are adjusted to make the columns shrink in width and fit next to other columns. }) */ .col-1 { flex: 0 0 8.3333333333%; width: 8.3333333333%; } .col-2 { flex: 0 0 16.6666666666%; width: 16.6666666666%; } .col-3 { flex: 0 0 24.9999999999%; width: 24.9999999999%; } .col-4 { flex: 0 0 33.3333333332%; width: 33.3333333332%; } .col-5 { flex: 0 0 41.6666666665%; width: 41.6666666665%; } .col-6 { flex: 0 0 49.9999999998%; width: 49.9999999998%; } .col-7 { flex: 0 0 58.3333333331%; width: 58.3333333331%; } .col-8 { flex: 0 0 66.6666666664%; width: 66.6666666664%; } .col-9 { flex: 0 0 74.9999999997%; width: 74.9999999997%; } .col-10 { flex: 0 0 83.333333333%; width: 83.333333333%; } .col-11 { flex: 0 0 91.6666666663%; width: 91.6666666663%; } .col-12 { width: 100%; }

    The code without comments
    Code:
    .row { clear: both; margin-bottom: 2rem; } .row_end { clear:both; } .rows { margin: 0 40px; } ul.widgets { list-style-type: none; padding: 0; margin: 0; } .col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1 { float: left; padding-right: 15px; padding-left: 15px; box-sizing: border-box; } .row-interior > div:first-child { padding-left: 0; } .row-interior > div:last-child { padding-right: 0; } .col-1 { flex: 0 0 8.3333333333%; width: 8.3333333333%; } .col-2 { flex: 0 0 16.6666666666%; width: 16.6666666666%; } .col-3 { flex: 0 0 24.9999999999%; width: 24.9999999999%; } .col-4 { flex: 0 0 33.3333333332%; width: 33.3333333332%; } .col-5 { flex: 0 0 41.6666666665%; width: 41.6666666665%; } .col-6 { flex: 0 0 49.9999999998%; width: 49.9999999998%; } .col-7 { flex: 0 0 58.3333333331%; width: 58.3333333331%; } .col-8 { flex: 0 0 66.6666666664%; width: 66.6666666664%; } .col-9 { flex: 0 0 74.9999999997%; width: 74.9999999997%; } .col-10 { flex: 0 0 83.333333333%; width: 83.333333333%; } .col-11 { flex: 0 0 91.6666666663%; width: 91.6666666663%; } .col-12 { width: 100%; }