Чистое решение CSS , которое не требует какой-либо дополнительной разметки html, будет похоже на эту скрипку: http://jsfiddle.net/TBwQh/27/. Это работает в IE8 + и может быть настроено для работы в IE7 (требуется некоторая верхняя частькорректировка полей, кажется), хотя IE7 не будет показывать вертикальную разделительную пунктирную линию.
CSS:
#contact-form {
width: 600px;
}
#contact-form label {
display: inline-block;
width: 176px;
height: 1em;
padding: 1.5em 424px 1.5em 0;
margin-right: -412px;
text-align: right;
border-bottom: 1px dashed #bbbbbb;
position: relative;
}
#contact-form label:after {
content: '';
display: inline-block;
position: absolute;
width: 0;
border-right: 1px dashed #bbbbbb;
top: 0;
bottom: 0;
margin: 0 0 0 12px;
}
#contact-form input,
#contact-form textarea {
display: inline-block;
width: 376px;
height: 3em;
margin: .5em 12px;
vertical-align: middle; /* textarea needed this */
}
#contact-form input[type=submit] {
width: 200px;
margin-left: 188px;
}
Очевидно, что некоторые изменения могут быть внесены в размеры.Можно было бы оценить, стоит ли «сложность» CSS или невозможность получить его полностью таким же образом в IE7 и ниже, не стоит ли идти по таблице или по дополнительному маршруту div, как уже упоминалось.