After an outage on September 1, the Instructure Community is now fully available, including guides, release notes, forums, and groups. If some styling still looks unusual, clear your cache and cookies.
Found this content helpful? Log in or sign up to leave a like!
I am an instructor with (I hope) some basic questions about page design.
I am looking for some simple instructions on how to re-size and re-arrange tables on a page, and how to add or duplicate an existing table.
Most of my pages look fine, but in others the table are overlapping or in odd places and it looks bad.
Solved! Go to Solution.
Sorry you're going through this. I understand you may not have the skills to update the whole course, but there is something I would like to suggest that may help.
As @SusanNiemeyer and @Chris_Hofer have already pointed out, tables should not be used for layout. If you want something that would allow you to achieve this type of layout, you can do this by dividing the content into DIV blocks and something called the box model. This essentially puts your DIV context into boxes that you can lay out as you like.
To get started on this quickly, make a new page, switch to HTML (view > HTML editor), paste this code.
<div class="content-box">
<div class="grid-row">
<div class="col-xs-6">
<h1>First bit of information</h1>
<p>content</p>
<hr />
</div>
<div class="col-xs-6">
<h1>Second bit of information</h1>
<p>content</p>
<hr />
</div>
</div>
</div>
A few things to point out:
It might take a little bit of time to set up, but most of that will be time copying and pasting content from the old table into the new DIV. Just be careful to not copy a table into the DIV. This is what it can looks like with just some text in it:
Super post Peter and @StefanHenley , I've 'learned' all my HTML design from the brilliant posts of @peter and other colleagues - I can never remember exactly how to do things so keep a collection of template pages similar to what Peter has shown above.
For clarity, the design that Peter shows as an example has a few subtleties to the HTML. For some reason, ( I dont know why and this might not be exactly true bit works for me), when using content-box code the class for col-xs has to add up to 12 eg a two column table has col-xs-6 as the code above shows.
If you want a three column table then the class needs to be col-xs-4
Replicating Peter's example above eg
DIV tags for table
Would use the code:
<div class="content-box">
<div class="grid-row">
<div class="col-xs-6">
<h2>Top Row - 1st Column - Title</h2>
<p><span>Content for top row, left hand side column<hr />
</div>
<div class="col-xs-6">
<h2>Top Row - 2nd Column - Title</h2>
<p><span>Content for top row, right hand side column<hr />
</div>
</div>
<div class="grid-row">
<div class="col-xs-4">
<h3>2nd Row - 1st Column - Title</h3>
<p>Content for second row, left hand side column<hr />
</div>
<div class="col-xs-4">
<h3>2nd Row - 2nd Column - Title</h3>
<p><span>Content for second row, middle column<hr />
</div>
<div class="col-xs-4">
<h3>2nd Row - 3rd Column - Title</h3>
<p>Content for second row, right hand column column<hr />
</div>
</div>
</div>
I used the h2 and h3 tags for the subtitles.
Hope this helps..
Hi there, @StefanHenley ...
My first question for you is...what kind of content are you putting in your tables? Are you using tables for page design? Or, are you using tables to hold data? Generally speaking, tables should not be used for page layout and design. Tables are really meant to hold data. I do understand why some folks want to use tables for page layout and design, though, but there are accessibility issues that come into play when you are using tables for page design.
What do your pages with tables currently look like? Could you share a screenshot or two? Maybe even share the HTML code where your tables are placed in the course. Keep in mind, if you are using tables for page layout and design, and there are images in those tables, we wouldn't be able to see those images if you share any of the HTML code...assuming that your images are stored within the Canvas course.
So, if you could provide some additional information for us, that would be very helpful. Thanks!
Hi Chris
Thanks for your response. The tables are being used for design. No data involved. The course was re-designed via an audit for online use last year and when importing content for this year's class some of the wonkiness in the pages design ensued. So pretty much all the layout/design was done like that, which sounds like it is not ideal.
I'll try to post a screenshot below. Basically all I want is for the tables to be in two columns that are roughly aligned. In the first example most are aligned to the left of the page (note the gap on the right), while in the 2nd there is overlap going on.
Sorry it looks like I don't have permission to upload images.
@StefanHenley ...
You *might* need to do a few more things in order to "rank up" from your current Community Novice status in order to post images. Here's a document on that...
Example 1: all tables aligned left (gap on the right)
Example 2: overlapping tables
@StefanHenley ...
Thanks for sharing those examples. Does the content in those tables really need to be in tables? Why not just use Heading tags instead?
You wouldn't even need to mess with the HTML code at all. Just highlight your text, and then select the heading you want to use from the RCE (Rich Content Editor). This is much better for things like screen readers (as @SusanNiemeyer points out below).
Hi Chris
Thanks for that feedback. I will look at those links. The issue is really that the entire course has been designed like this and it is problematic to start over as I don't have the skills currently to do so and the class starts next week. But to answer your question no, the content does not need to be in tables. The design of this course was outsourced and I was never happy with it!
@StefanHenley ...
I see. One thought that immediately comes to mind...if you have the time...is to request a blank course shell from your school's Canvas administrator. Then, throughout the semester, maybe consider re-building the course pages the way you want them to look. I think you'll find that the editing tools, even though they are not exactly the same, do have some similarities to using something like Microsoft Word (but you're not going to get paragraph indentations like you would in Word, as an example). Also, maybe you have Instructional Designers at your school who might be able to help with this kind of thing, too...or at least give you some tips on good page design. Sometimes, when I've come across pages with poor design, I've used sites that clean up HTML so that there isn't so much "rogue" code sitting out there on the page. I wrote a blog quite a while back here in the Community on the topic...which you can find here: HTML Cleanup. If you worked on the course in your empty course shell (some people might call this a "sandbox" course), then at the beginning of the new semester, you could copy the contents from there into your new course. Again, see what your Instructional Designers have to say about all this...as they may have an already-developed process in place for keeping curriculum current.
Anyway...just thought I'd throw that option out there for you to consider. Happy holidays!
You need to have a conversation with the folks who created this course. The course is not accessible to visually impaired students at all. They will not be able to access the content with screen readers. This is a violation of ADA / Section 504. A visually impaired student could sue your school, and they would win. My district (LACCD) lost a lawsuit back in 2019.
Using tables for page design and layout is a huge NO-NO for accessibility. Students with low vision and blindness will not be able to use a screen reader to access your content. You need to start over and get rid of the tables. Don't bother trying to "fix" them.
Accessibility must be built into every course. Anyone redesigning a course with tables based on an audit really made a mess of things.
Sorry you're going through this. I understand you may not have the skills to update the whole course, but there is something I would like to suggest that may help.
As @SusanNiemeyer and @Chris_Hofer have already pointed out, tables should not be used for layout. If you want something that would allow you to achieve this type of layout, you can do this by dividing the content into DIV blocks and something called the box model. This essentially puts your DIV context into boxes that you can lay out as you like.
To get started on this quickly, make a new page, switch to HTML (view > HTML editor), paste this code.
<div class="content-box">
<div class="grid-row">
<div class="col-xs-6">
<h1>First bit of information</h1>
<p>content</p>
<hr />
</div>
<div class="col-xs-6">
<h1>Second bit of information</h1>
<p>content</p>
<hr />
</div>
</div>
</div>
A few things to point out:
It might take a little bit of time to set up, but most of that will be time copying and pasting content from the old table into the new DIV. Just be careful to not copy a table into the DIV. This is what it can looks like with just some text in it:
Super post Peter and @StefanHenley , I've 'learned' all my HTML design from the brilliant posts of @peter and other colleagues - I can never remember exactly how to do things so keep a collection of template pages similar to what Peter has shown above.
For clarity, the design that Peter shows as an example has a few subtleties to the HTML. For some reason, ( I dont know why and this might not be exactly true bit works for me), when using content-box code the class for col-xs has to add up to 12 eg a two column table has col-xs-6 as the code above shows.
If you want a three column table then the class needs to be col-xs-4
Replicating Peter's example above eg
DIV tags for table
Would use the code:
<div class="content-box">
<div class="grid-row">
<div class="col-xs-6">
<h2>Top Row - 1st Column - Title</h2>
<p><span>Content for top row, left hand side column<hr />
</div>
<div class="col-xs-6">
<h2>Top Row - 2nd Column - Title</h2>
<p><span>Content for top row, right hand side column<hr />
</div>
</div>
<div class="grid-row">
<div class="col-xs-4">
<h3>2nd Row - 1st Column - Title</h3>
<p>Content for second row, left hand side column<hr />
</div>
<div class="col-xs-4">
<h3>2nd Row - 2nd Column - Title</h3>
<p><span>Content for second row, middle column<hr />
</div>
<div class="col-xs-4">
<h3>2nd Row - 3rd Column - Title</h3>
<p>Content for second row, right hand column column<hr />
</div>
</div>
</div>
I used the h2 and h3 tags for the subtitles.
Hope this helps..
@petern @GideonWilliams thank you so much for your help and practical guidance.
I will re-do the course using your code: you're absolute lifesavers. As I go I may have additional questions. Just sharing a screenshot below of what I created real quick using your code.
@Chris_Hofer just to respond to an earlier comment: this course was 'redone' as a part of an audit about a year ago, usually the in house IT support do this for us, but this time it was outsourced to another company and I was never happy with its design. So thanks for your feedback on that and it helps me understand what it is going on.
Looks great. Always good to have multimedia on a page.
Now that you are becoming an html expert :O) here is a great link to some html 5 code that works brilliantly in Canvas
The Details tag - Solved: Accordion Alternative - Details tag - Instructure Community - 395062 (canvaslms.com)
Keep up the amazing work and share with the community (its how I learned stuff!)
To interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in