Если я правильно читаю ваш вопрос, вы хотите отобразить код / текст, содержащийся в рамке, и этот код не может быть перенесен (если только такие переносы или возврат каретки / перевод строки / etc не присутствуют в коде / сам текст). Вы также хотите, чтобы содержащий элемент увеличил его горизонтальное измерение, чтобы расширить до необходимой ширины текста / кода?
Так, если бы в вашем тексте была самая длинная строка из 20 символов, ваша <pre>
имела бы ширину не менее 20 символов, если бы в тексте было 200 символов для самой длинной строки, то она должна растягиваться, чтобы вместить 200 символов?
Если эти предположения верны, то вы не можете - по крайней мере, без javascript - делать то, что вы хотите сделать, поскольку для этого потребуется установить ширину родительского элемента на основе ширины его дочернего элемента. К сожалению CSS стекает вниз по DOM, и только в одностороннем порядке.
Лучшее, что вы можете сделать без JS, это добавить:
overflow: scroll; /* or auto */
или
overflow-x: scroll;
к вашему CSS, который бы поддерживал ширину <pre>
, но позволял бы прокручивать, чтобы самые длинные строки оставались не обернутыми.
Если я неправильно понял ваш вопрос, пожалуйста, оставьте комментарий, и я сделаю все возможное, чтобы ответить на ваш вопрос с большей пользой.