Моя цель состоит в том, чтобы создать ряды линий (с номерами строк), что:Как обеспечить выбор только выбранного текста?
- номера строк выравнивают с соответствующей линией, даже если каждая «линия» превышает ширину родительского элемента и заворачивает к новой физической линии
- только выбран текст, а не номера строк
- пробельные сохраняется как внутри, так и перед каждой строкой
у меня есть фрагмент кода, который выполняет некоторые из этих целей на конкретных браузеров:
.code { counter-reset: line; }
.line { counter-increment: line; white-space: pre-wrap; }
.line:before { content: counter(line) " - "; }
<div class="code">
<div class="line">Line 1</div>
<div class="line"> Line 2</div>
<div class="line">Line 3</div>
</div>
Вот проблема:
- все работает в Chromium
- все работает в Firefox для третьей цели, кроме - Пробелы в начале строки усечена для некоторых причина
- все работает в IE за исключением второй цели - номера строк включены в выбор
(У меня нет доступа к Mac, поэтому я понятия не имею о Safari. Мне слишком лениво тестировать Opera.)
Есть ли способ сделать эту работу во всех распространенных браузерах?
Спасибо за исчерпывающий ответ! –
Обязательно. Это сводит меня с ума, когда кажущееся простое поведение должно быть ОЧЕНЬ легким, чтобы все браузеры согласились сделать то же самое, но они этого не делают. Несмотря на разочарование, если ответ удовлетворяет вашему вопросу, отметьте его «Принято». я считаю, что вы всегда можете изменить его, если кто-то еще предлагает обходные пути для IE & FF. – cautionbug