Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been building a document in InDesign, and want to collect my text into color-coded boxes and sidebars.

My technique so far: Make a text box. Make a colored rectangle. Size them like I want, drag the text box onto the rectangle and group them.

The problem comes when the text grows or shrinks, and I need to resize its box. The grouped objects rescale in proportion. What I want is a fixed width border around the text box of color. Is there a way to link the text box and the color box such that the color box is always X pixels bigger than the text box, rather than X% bigger than the text box when they're resized together?

Or if there's a better way to accomplish having a color coded box around text with fixed with borders, I'm all ears.

Proportional resize screwin' up mah border area.

share|improve this question
Oh gad that's a hideous gradient. Don't hold it against me, it was just a quick example I coughed up. – baudot Sep 20 '13 at 18:34
up vote 2 down vote accepted

A rectangular shape and a text frame are essentially the same thing under the hood. You can click in a shape with the text tool and it automatically becomes a text frame. (You can turn off this behavior by unchecking Preferences > Type > Type Tool Converts Frames to Text Frames.) There is no need to drag or paste a text frame into another frame under normal circumstances, although this does have a use in particular cases, such as when you want diagonal text inside an arbitrary shape.

Do it this way:

  • Drag out a text frame in the usual way, with the text tool, and add your text.

  • Press Escape to end text editing and make the Selection (black arrow) tool active.

  • Fill the text frame with the color or gradient you want to use.

  • Use InDesign's Text Frame Options (Ctl/Cmd-B or Object > Text Frame Options...) to set up the inset value you want from each edge of the frame.

Now, when you resize (not rescale) the text frame, the inset values will remain constant.

share|improve this answer

Instead of creating a text object, try typing into the box object itself and setting the indent values.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.