Jump to content
  • 0

textarea


Светлана Г.
 Share

Question

Здравствуйте!

Есть такая задача: как сделать так, чтобы текст в поле не наезжал на <input> "Прикрепить файл"?

textarea.PNG

Все хорошо только в Мозилле:

textarea-ff.PNG

Вот CSS:

textarea{
height:70px;
width:239px;
resize:none;
color:#333;
padding:0 0 20px 4px;
margin:0;
}

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

а html код где?

HTML-код простой:

<textarea></textarea>
<input type="file" class="file_1" />

остальное делается JS:

<input type="file" class="file_1" /> заменяется картинкой. Далее этот input с помощью стилей:

position: relative;

top:-18px;

left: 5px;

помещается в textarea.

Edited by Светлана Г.
Link to comment
Share on other sites

  • 0

1sxxsk.png

Это firefox так рисует элемент, он берет поля не вокруг контента поля, а вокруг контента и прокрутки если она есть. Во всех остальных браузерах рисуется одинаково. Заставить firefox рисовать так же как во всех остальных можно с помощью хака:


textarea {
resize:none;
}
@-moz-document url-prefix() {
textarea {
padding: 0px;
padding-left: 6px;
}
}

Если вы наоборот хотите чтобы было как в Firefox во всех браузерах я даже не знаю что вам посоветовать. лучше обдумать этот вопрос и реализовать это все по другому.

ЗЫ На багтрекере мозиллы есть такой баг https://bugzilla.mozilla.org/show_bug.cgi?id=157846 как я понимаю его не пофиксили досихпор.

Можно сделать как то так http://jsfiddle.net/MUR67/ с помощью обертки

Edited by wwt
Link to comment
Share on other sites

  • 0

Нет, здесь дело не в отображении, а нужно сделать так, чтобы вводимый в textarea текст не перекрывал собою <input>. Текст пишется прямо поверх него, не замечая. Как раз в FF текст не перекрывает.

Edited by Светлана Г.
Link to comment
Share on other sites

  • 0

Нет, здесь дело не в отображении, а нужно сделать так, чтобы вводимый в textarea текст не перекрывал собою <input>. Текст пишется прямо поверх него, не замечая. Как раз в FF текст не перекрывает.

Именно по той причине которую я вам описал в FF и не происходит перекрытие, потому что паддинг делается не внутри области для ввода текста а вокруг нее, как будто ей задан margin.

Сейчас попробую обьяснить:

Во всех браузерах кроме FF, паддинг добавляется вокруг вводимого текста, скроллинг появляется в момент когда вводимый контент не вмещается в размеры.Но прокручивается он не до самого низа области ввода, а только до текущей строки. Паддинг после текста есть но чтобы его увидеть вам придется вручную прокрутить скролл вниз. А вот в FF паддинг добавляется вокруг области ввода, а не вокруг вводимого текста и потому выглядит это по разному. Вот наглядый пример http://jsfiddle.net/wwt999/tAEAU/.

Edited by wwt
Link to comment
Share on other sites

  • 0

Поняла, спасибо за разъяснения.

Видимо, придется искать другой способ верстки, чтобы обойти эту проблему?

я выше привел небольшой пример как можно действовать с помощью обертки http://jsfiddle.net/MUR67/

Link to comment
Share on other sites

  • 0

Поняла, спасибо за разъяснения.

Видимо, придется искать другой способ верстки, чтобы обойти эту проблему?

я выше привел небольшой пример как можно действовать с помощью обертки http://jsfiddle.net/MUR67/

Спасибо огромное за помощь, все получилось!

Единственное, у меня сомнение в необходимости этого правила:

textarea:focus {

outline:none;

}

Link to comment
Share on other sites

  • 0

Поняла, спасибо за разъяснения.

Видимо, придется искать другой способ верстки, чтобы обойти эту проблему?

я выше привел небольшой пример как можно действовать с помощью обертки http://jsfiddle.net/MUR67/

Спасибо огромное за помощь, все получилось!

Единственное, у меня сомнение в необходимости этого правила:

textarea:focus {

outline:none;

}

некоторые браузеры при фокусе на поле формы добавляют особое выделение полю:

screen.png

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

если такое выделение всеже нужно, то лучше его сделать свое и одинаковое во всех браузерах.

Edited by wwt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy