Выделение текста внутри div показано вне div

0

Я хочу, чтобы пользователь выбирал текст (html) внутри div. Однако при этом будет отображаться фон выбора в браузере также вне div.

Я могу предотвратить это (см. Http://jsfiddle.net/lborgman/aWbgT/)

div { overflow: hidden; }

Это способ сделать это? Или, есть ли лучший способ?

Теги:
selection

2 ответа

1
Лучший ответ

добавить дисплей: inline-b

div { overflow: hidden; display:inline-block; }

демонстрация

  • 0
    Спасибо, это было интересно. Почему display:inline-block заставляет отображение фона выделения исчезать за пределами div? (Не то, чтобы я понимал, почему overflow:hidden тоже так работают, но об этом немного проще догадаться ... ;-))
  • 1
    @Leo overflow:hidden делает то, что говорит: скрывает все, что находится за пределами окна. Чтобы понять display:inline-block , вы должны понимать display:block : в простых словах, block принимает высоту объектов по всей ширине контейнера. inline-block удаляет значение по умолчанию для всей ширины и заставляет элемент занимать только определенные ширину и высоту. Таким образом, вы увидите только выбор занимают поле.
Показать ещё 1 комментарий
0

В свойстве CSS есть опечатка:

xoverflow: hidden;

вместо

overflow-x: hidden;

Обновлен JSFiddle: http://jsfiddle.net/aWbgT/3/

  • 0
    Спасибо, но это была не опечатка. Я просто оставил это так, чтобы было легче проверить. ;-)
  • 0
    о хорошо! Таким образом, ответ Хуана С. ( inline-block ) кажется хорошей альтернативой.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню