<pre> в fieldset не соответствует директиве overflow: auto - PullRequest
4 голосов
/ 01 августа 2010

Это тестовый пример:

<code><!doctype html>
<html>
<body>
    <div style="margin: 0 auto; width: 950px; overflow: hidden;">
        <div style="float: left; width: 660px">
            <form><fieldset>
            <pre style="overflow: auto">Test test test Test test test Test test test Test test test Test test test Test test test Test test test Test test test 
Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.Лорем Ипсум.

Я хочу, чтобы код в <pre> показывал полосу прокрутки вместо того, чтобы перетекать в боковую панель "Lorem Ipsum".Если он находится в <fieldset> (как в примере), он переполняется.

Если вы удалите <form><fieldset>, он больше не будет переполнен, но также не будет отображать полосу прокрутки (переполненный текстпросто вырезано).

Вот что я хочу:

  • Если текст в <pre> длиннее доступной ширины, он не должен перетекать в "Lorem Ipsum" идолжна отображаться полоса прокрутки, независимо от того, находится она в <fieldset> или нет.

1 Ответ

2 голосов
/ 01 августа 2010

Он подчиняется, но в контексте поведения по умолчанию. У него нет width в настоящее время, и поведение <pre> по умолчанию состоит в том, чтобы не имели ширину (а, скорее, расширялись в доступное пространство ... и это родитель готов расширяться, чтобы приспособиться к этому), поэтому он действует правильно.

Если вы хотите, чтобы соответствовал размеру, просто задайте ему ту же ширину, что и у родителя, например:

<pre style="overflow: auto; width: 660px;">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...