CSS для создания группы текста с ровным левым краем с автоматической шириной - PullRequest
1 голос
/ 17 февраля 2010

Я пытаюсь создать макет примерно так (вам нужно использовать свое воображение):

A B
  B
  B

A - это фрагмент текста, B - это фрагмент текста, левый край которого я бы хотел выровнять равномерно с самим собой.

Чтобы еще больше усложнить ситуацию, B по умолчанию скрыт, и его не следует принимать во внимание при настройке потока страниц, но вместо этого он должен появляться, когда A наводит указатель мыши на верхнюю часть всего, что происходит там, где оно появляется. Таким образом:

A1
Asecond

при наведении курсора на A1 становится:

A1 B1
AseB1
   B1

Каждая строка AB содержится в div с фиксированной шириной. Я не знаю заранее размер A, поэтому я бы хотел, чтобы B просто занимал столько места, сколько осталось в div.

В Firefox я просто сделал так, чтобы B занимал абсолютную позицию, и все было отлично, все работало точно так, как я ожидал.

Однако в IE8 B принимает ширину, равную содержащемуся div фиксированной ширины, в результате чего div переполняется текстом переполнения из-за того, что B уже смещен на ширину A. Я могу установить div to overflow: скрыто, но это просто прерывает текст. Настройка B на ширину: auto, похоже, ничего не делает.

Я просто облажался, или я могу использовать подход, который будет работать во всех достаточно современных браузерах?

1 Ответ

1 голос
/ 28 февраля 2010

Сделайте попытку: http://www.alistapart.com/articles/conflictingabsolutepositions/ Конфликт абсолютных позиций - мой любимый обходной путь.

Может не работать в IE6 при некоторых обстоятельствах, согласно этому примечанию: http://fu2k.org/alex/css/frames/

...