Плавающий слишком далеко вправо

У меня есть веб-приложение для управления записями, которое отображает основную запись на одном экране, и AJAX-редакторы динамически встроены в редактор div, который я использовал JQuery для перетаскивания. Это работает.

Несмотря на то, что div не является окном, я подумал, что было бы неплохо сделать его более похожим на него, поэтому я закодировал кнопку «закрыть». Структура выглядит так:

<div id = "editor">
  <div id = "draghandle" />
  <div id = "closebutton" />
  <div id = "editorbody" />
</div>

Editorbody имеет переменную размерность в зависимости от того, что люди пытаются ввести.

Ширина Draghandle установлена ​​на 100% от редактора. Closebutton настроен в CSS как float:right.

Моя проблема в том, что в IE6 и IE7 кнопка закрытия плавает слишком далеко вправо. Он всегда напротив правого края окна, независимо от того, куда я перетаскиваю div редактора. В Firefox и Safari это похоже на то, что я ожидал - ширина окна равна ширине редактора, а кнопка закрытия находится в правом верхнем углу.

Я не особо привязан к float: верно, просто ищу способ настроить CSS, который даст мне одинаковый результат во всех браузерах. Любые идеи?

"Скриншоты"

Вот макет того, что я хотел бы сделать на jsbin (спасибо, redsquare)

образец кода

Я работаю с конфиденциальной юридической информацией, поэтому не могу предоставить скриншоты приложения. Однако я сделал несколько снимков и заблокировал текст и интерфейс, оставив только оконную структуру.

как это выглядит в IE7

как это выглядит в firefox 3

Можете ли вы обмануть это, может быть, на jsbin.com или pastebin.me

redsquare 09.01.2009 20:54
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
1
1
7 673
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Иногда нужны CSS-хаки:

* + html #editor #closebutton /* IE7 */, * html #editor #closebutton /* IE6 */ {margin-right: 100px;} // insert whatever value that fits here

Но #editor можно перетаскивать туда, куда люди хотели бы его поместить. Его можно поставить у правого края окна. Даже если я работаю перемещением кнопки закрытия в drop code редактора - хм. У меня есть идея, что сейчас может сработать.

Glazius 09.01.2009 20:11

Неа. Установка ширины div редактора равной ширине редактора после его рендеринга по-прежнему делает его слишком широким. Думал, у меня там что-то есть.

Glazius 09.01.2009 20:18

для конкретных css-хаков IE вы можете сделать что-то вроде:

#divId {    
   margin-right: 0; /*Normal styles for all browsers*/    
  *margin-right: 100px; /*The asterisk allows only for IE6 AND IE7 to read this*/        
  _margin-right: 90px; /*The underscore allows only IE6 to read this style*/    
}

Просто убедитесь, что хаки со звездочкой и подчеркиванием размещены после нормального (действительного) стиля css.

Ответ принят как подходящий

Возможно, вы захотите вместо этого просто использовать Диалог JQuery, поскольку он готов и стили уже работают на кросс-платформе.

Спасибо! Чувак, и следующее, что я собирался сделать с этим, - это тоже сделать модель типа лайтбокса!

Glazius 09.01.2009 22:21

Для записи, что помогло исправить это, так это изменение CSS для closebutton с

float: right;

к

position: absolute;
right: 5px;
text-align: right;

Это дает правильные результаты в IE, и с небольшим заполнением для внутренних полей формы можно не беспокоиться о перекрытии.

Ну, это действительно помогло, так как изменение «px» в «right» делает свою работу.

Sagar Ahuja 30.05.2019 11:47

Другие вопросы по теме