Jump to content
  • 0

css-reset для элементов форм


AlOshka
 Share

Question

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

Давно интересует такой момент.

Вот всегда, пока верстаю, встаёт одна и таже проблема.

Добиваюсь практически попиксельного отображения во всех версиях браузеров, включая 7го осла.

Но как только дело доходит до форм - всё, пиши пропало.

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

Я не знаю, может я такой тупой и уже давно всё придумали, но что-нибудь вроде css-reset для элементов форм в природе не существует?

Понятное дело, что особенности есть, и их всё-равно нужно учитывать, но может быть они уже где-то расписаны? В этом вопросе гугл мне не помог :-(

P.S. также очень интересует стилизация элементов, хотя бы минимум - текстовые инпуты, чекбоксы, радио..

  • Like 1
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

html,body,div,span,object,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline;}
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em;}
legend{border:0;*margin-left:-7px;padding:0;white-space:normal;}
button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;}
button,input{line-height:normal;}
button,input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;*overflow:visible;}
button[disabled],input[disabled]{cursor:default;}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;*height:13px;padding:0;*width:13px;}
input[type="search"]{-moz-box-sizing:content-box;-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box;}
input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
textarea{overflow:auto;}

выдрал из своего ресета

в некоторых случаях верстать, к примеру, кнопки форм лучше не ипутами, а другими элементами (типа дивов), так легче добиться кроссбраузерности

http://jsfiddle.net/jdKFa/ пример - в Opera у кнопки появляются черные границы, исчезающие при повторном нажатии

  • Like 1
Link to comment
Share on other sites

  • 0

Круто, спасибо!

Завтра на работе изучу/потестю :-)

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

Сам использую reset от html5 boilerplate, немного допиленный, но вот такого reset'a для форм у них нету.

Кстати, вдогонку вопрос один вспомнил..

Вот допустим у нас есть такой элемент:


<label><input type="checkbox" name="name" />Это большая надпись к чекбоксу</label>


label {
font:25px/30px Tahoma;
}
input[type=checkbox] {
vertical-align:middle;
}

На сколько я помню, стандартная высота чекбокса равна 13px или в районе того.

А вот как его (чекбокс) расположить вертикально по центру, не прибегая к маргинам или игрой подобной конструкцией:


margin-top:-7px;
top:50%,
position:relative;

?

Понятное дело, vertical-align:middle не работает, но как, чтобы не подстраивать каждый отдельный инпут к каждому конкретному лэйблу или любому другому родительскому элементу, задать ему точное положение по центру родителя? У меня пока решений нету..

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