Jump to content
  • 0

Проблемы наследования2


Sintanial
 Share

Question

Ребят подскажите пожалуйста

?<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">

div.input {
position: relative;
width: 100%;
background: bisque;
}

div.input input {
padding-left: 26px;
padding-right: 10px;
height: 16px;
width: inherit;
border-radius:20px;
border:1px solid black;
border-top:2px solid black;
height: 20px;
}

div.input img {
position: absolute;
left:0px;
margin:7px 10px 0px;
}
div.cont{
margin:0 400px;
}
</style>
</head>
<body>
<div class="cont">
<div class="input"><img src="image/poisk.png" alt="" /><input type="text" /></div>
</div>
</body>
</html>

вот код, как сделать так что бы мой input наследовал ширину родителя. При это не выходил за область своего родителя..... сейчас мой инпут больше родителя из за своих паддингов. Если я ставлю атрибут ауто.... то не срабатывает =)

Link to comment
Share on other sites

23 answers to this question

Recommended Posts

  • 0

Тебе нужно убрать весь фон, бордеры с инпута и прописать это всё родителю. А инпут просто растянуть на 100% по ширине. У родителя поставить overflow: hidden;

А что это там у тебя за картинка внутри? Она не абсолютная случайна? Если нет, то я бы советовал отдельно завернуть инпут в див.

Link to comment
Share on other sites

  • 0

у меня еще вопрос. А если возле инпута будет текст... вот допустим так:


<div class="cont">
<span>поиск</span>
<div class="input"><img src="image/poisk.png" alt="" /><input type="text" /></div>
</div>

И вот предположим что у .cont ширина 600px. Мне необходимо что бы текст примыкал к левому краю .cont ( ну это само сабой так и будет) а input занимал автоматически всё оставшееся пространство начиная от текста и заканчивая правым краем .cont.

Link to comment
Share on other sites

  • 0

у меня еще вопрос. А если возле инпута будет текст... вот допустим так:


<div class="cont">
<span>поиск</span>
<div class="input"><img src="image/poisk.png" alt="" /><input type="text" /></div>
</div>

И вот предположим что у .cont ширина 600px. Мне необходимо что бы текст примыкал к левому краю .cont ( ну это само сабой так и будет) а input занимал автоматически всё оставшееся пространство начиная от текста и заканчивая правым краем .cont.

Вопрос понял. Тогда диву, как я и сказал, прописываешь overflow: hidden;, а спану float: left;

Link to comment
Share on other sites

  • 0

Тут одна проблема появилась. У инпута что бы не налазить на картину прописан padding-left:20px; но так как инпуту прописана ширина 100%... то он выезжает за пределы своего родителя див..... визуально это конечно не видно...но файрбаг показывает.... и текст начинает примыкать прям к правому краю родителя... а мне надо что бы он на 2px отходил от правого края родителя.

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

короче вот

http://floomby.ru/content/TGzH2hoHUO

Edited by Sintanial
Link to comment
Share on other sites

  • 0

Трогай не трогай а гугл хром показывает границу инпута хоть ты тресни....есть конечно вариант скрыть границу.. и див поставить z-index выше...

Не может этого быть. Дай ссылку на тестовую страницу с примером.

Вот сервис, сделай в нём.

http://jsfiddle.net/

Link to comment
Share on other sites

  • 0

Блин, ну ты даёшь) Я ж те сказал, всё убрать и инпута, лови

И что вот это такое, расскажи-ка мне?

div.input img {
position: absolute;
float: left;

Короче там куча косяков. Исправляй всё.

Может как-то так? Только наладь осттупы и т.д.

http://jsfiddle.net/tDWZt/7/

Link to comment
Share on other sites

  • 0

Вот и дерзаю =))). Тута нагрянул еще один вопрос

У нас есть четыре списка в линию...они находятся в контейнере у которого ширина меняется в зависимости от окна браузера (резиновый блок), списки расположены на одинаковом расстоянии друг от друга....при том так что крайние примыкают к нашему контеёнеру . Как сделать так что бы при смене ширины контейнера, менялось и расстояние между списками ???


<div>
<ul style="display:inline-block"><li></li></ul>
<ul style="display:inline-block"><li></li></ul>
<ul style="display:inline-block"><li></li></ul>
<ul style="display:inline-block"><li></li></ul>
<div>

Link to comment
Share on other sites

  • 0

еее спасибо оноооо !!! =)

Ну и отлично)

Кстати, если что, то когда я говорил Дерзай!, я имел ввиду, что нужно не дерзать на форум задавать вопросы, а самому взять книжку и начать читать. ;)

Link to comment
Share on other sites

  • 0

ну я понимаю... я читаю, вникаю. Просто когда многие вещи не получаются( как например вот это), то приходится спрашивать совета у форумчан =).

Верю. Молодец! :boast:

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