<body>
<span style="color:#55FFFF;">До</span>
<span style="color:#FFAA00;">б</span>
<span style="color:#55FFFF;">ро</span>
</body>
, а после выделит "обр" и поменяет его цвет? получим сломанную разметку? Потому что появится спан который содержит в себе и закрывающие теги и прочую радость? Если быть точным то разметка не сломается, браузер скорее всего сгенерирует ошибку. Если я правильно понял задачу то нужно хорошо продумать решение. чтобы каждый кусок разного цвета был отдельноотдельно от чего? Отдельно в каком смысле?
Если убрать поля в настройках страницы, то они печатаются с краю, но без полей выглядит плохо.Думаю логично вместо полей описать другие css-правила для принта. Маржины, ширина контейнера. Не работал с принтом особо, но насколько понимаю при задавании полей ты с пространством в этих полях работать не сможешь. Это противоречит самой идее поля.