is now part of CreativePro.com!

Make a Table Span Columns in InDesign

5

A designer called me today and asked: “How can I make a table go all the way across a multi-column page without putting it in its own frame?” The answer is straightforward if you have InDesign CS5 or newer. Use one of my favorite features: Span Columns.

In the example below, the text frame has two columns. The “Great Steaks” head and the table are both set to span two columns.

The trick is to remember that tables behave sort of like inline graphics. In other words, a “child” table resides in a “parent” paragraph in your text flow. So to make a table span a multi-column text frame, you need to select the paragraph that contains the table. An easy way to do this is to click with the Type tool in the upper-left corner of the table, to the very left of the first character of text in the cell, and press the left arrow key. This will place a large flashing text cursor to the left of the table. Then you can specify the span using the Span Columns widget in the Control panel, or by choosing Span Columns from the Control panel menu.


Bonus tip: If your document will contain multiple tables, always specify a Paragraph Style for the “empty” paragraph in which each table resides. This will allow you to easily specify repetitive settings for Span Columns, Space Before/Space After, Alignment, etc.

Keith Gilbert is a design consultant, developer, educator, speaker, and author. His work has taken him throughout North America, Africa, Europe, and Asia. During his 35+ year career his clients have included Adobe, Apple, Target, Oracle, and the United Nations. He is the author of several popular titles for LinkedIn Learning, Adobe Press, and CreativePro. Find him at gilbertconsulting.com and on Twitter @gilbertconsult
  • Hey I think that same person emailed me last week about it! :D And I didn’t think of the span column feature, which is very smart.

    But to be complete, it’s always been possible to have a table span columns. Just drag the right edge where ever you want. It can stick way outside of the parent frame, even both the left and right sides if you set the paragraph it sits in to center alignment.

    What it *won’t* do is force text to wrap around it. So if you’re trying to do that, then you have to fake it with empty carriage returns (yeah you heard me, I said it) in the text that’s overlapping; or use the elegant span columns solution Keith describes (in v5 or 5.5 only).

  • Quentin says:

    @Anne-Marie : Prior to CS5, wouldn’t it be somewhat easier to “fake” the wrap with left/right paragraph indent applied to the text on each side of the table?

    Define a couple child P-styles based on the one normally applied to that text and just adding those indents, place a paragraph return just before it meets the table, apply the correct child style and you’ll have your “wrap” with much easier text reflow.

    Still not perfect but at least you won’t have big empty white spaces in your text each time you tweak it.

  • Oliver van Helden says:

    Does anyone know any clever tricks for enabling a table row to split across frames/pages? While it’s normally useful and desirable for a row and its contents to appear all in one place, we sometimes encounter layouts where a table is the ideal container for text, but some of the rows contain many lines of text and these can’t split across more than one frame. This can lead to unsightly gaps at the bottom of pages because a deep row is forced to jump to the top of the next threaded frame. It would be very useful to allow rows to split if this was beneficial to the layout.

  • Rob says:

    In a table can you have a paragraph style so that the text become 2 columns, with out having the obvious of having two columns. ex…having bullets in a table that will wrap into a second column when it reaches the bottom of the table.?

    • Rob, unfortunately, I don’t know of any simple way to do what you describe. Unfortunately the cool span/split columns paragraph attribute doesn’t work in table cells.

  • >