2010-12-13 3 views
1

Хорошо, кто-то в космосе должен знать ответ на этот вопрос.Совместимое с браузером перенос слов и пробелы: pre? (возьмите 2)

Я уже задал этот вопрос здесь, но до сих пор нет решения.

Мне нужен текст в div, который нужно сохранить и обернуть. До сих пор мне сложно найти решение. Лучшее решение, которое я смог найти, не работает для всех браузеров.

Следующие действия выполняются в Chrome и IE6 +, но в Firefox текст не обертывается.

white-space: pre; 
word-wrap: break-word; 

Я обнаружил, что по какой-либо причине текст не переносится в Firefox с белым пространством: pre. И -moz-pre-wrap не работает в Firefox 3.5 (почему?), Только pre-wrap. НО, когда я добавляю pre-wrap в список, IE 6 и 7 не работают. Очень расстраивает.

Код:

.introsub { 
    position: relative; 
    top: 30px; 
    left: 25px; 
    width: 550px; 
    font-weight: normal; 
    line-height: 1.5em; 
    overflow: auto; 
    margin: 0; 
    padding: 1.5em; 
    white-space: pre; 
    word-wrap: break-word; 
} 

Кроме того, я попытался:

white-space: -moz-pre-wrap; /* Firefox */ 
white-space: -pre-wrap; /* ancient Opera */ 
white-space: -o-pre-wrap; /* newer Opera */ 
white-space: pre-wrap; /* Chrome; W3C standard */ 
word-wrap: break-word; /* IE */ 

и он не работает в IE6 или 7.

Благодаря

+0

ли этот вопрос отличается от http://stackoverflow.com/questions/4413015/browser-compatible-word-wrap-and-whitespace- до? –

+0

Вы хотите, чтобы текст сохранялся? Что ты имеешь в виду? Кроме того, DIVs обертывает текст по умолчанию. –

+0

Мне нужны перерывы, которые нужно сохранить, не так много пробелов между буквами. По умолчанию он завершается, но он не сохраняет разрывы строк в тексте. Поэтому, если div содержит текст, в котором он имеет две строки с 5 пустыми линиями между ними, он будет сохранен. Это не для отображения кода. @ Альваро - это тот же вопрос. – Logan

ответ

2

Я использовали это некоторое время:

div{ 
    white-space: pre-wrap; 
    font-family: monospace; 
} 
+0

Не уверен, что здесь 'font-family: monospace;' имеет значение здесь, но 'white-space: pre-wrap;' работал для меня сам по себе. –

+0

@MichaelBremerkamp Нет, моноширинный шрифт не связан с провалом белого пространства, он доступен только для отображения исходного кода (типичного прецедента) в удобочитаемом виде. –

0

Он будет работать в IE8 +, Chrome, FF и Safari

div { 
    white-space: pre; 
    word-wrap: break-word; 
} 
@-moz-document url-prefix() { 
    div { 
     white-space: normal !important; 
    } 
}