Два соседних раздела не соприкасаются в Chrome

#css #google-chrome #firefox

#css #google-chrome #firefox

Вопрос:

Я пытаюсь создать интерфейс с вкладками на веб-странице с небольшой прозрачностью. Я довольно близок к тому, что я хочу, но с этим есть проблема — и это зависит от браузера.

По соображениям UX я хочу, чтобы «страница» под вкладкой выглядела действительно связанной с вкладкой, поэтому вкладка не плавает над ней. Проблема в том, что когда они находятся на одном уровне в Chrome, в Firefox происходит перекрытие, а когда они находятся на одном уровне в Firefox, в Chrome возникает пробел. И из-за прозрачности перекрытие меняет цвет и выглядит плохо.

Вносить изменения в разметку на этой странице очень сложно или невозможно. Для этого нужно решение CSS.

Я хочу, чтобы это выглядело именно так.

введите описание изображения здесь

Скрипка:http://jsfiddle.net/uwULR /

Код является

 <div class="tabs" id="searchSwitchers">
        <input type="button" id="StandardSearchButton" value="Standard search" class="SearchFormButton switchableTab-inactive" autocomplete="off"/>
        <input type="button" id="AdvancedSearchButton" value="Advanced search" class="SearchFormButton switchableTab-active"autocomplete="off" />
    </div>
    <div class="tabbed">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
  

Стиль:

 body {
    background-color: #000;
}


.tabbed {
      -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
          padding-left: 1em;
          padding-right: 1em;
          padding-bottom: 1em;
          margin-left: -1em;
        background-color: rgba(255, 255, 255, 0.75);
    overflow: hidden;
    vertical-align: bottom;
    width: 100%;
    padding: 1em;
    margin-top: -2px; /*This makes it work in Chrome but breaks it in Firefox*/
}

.switchableTab-active {
    color: #0047B9;
display: inline-block;
background-color: rgba(255, 255, 255, 0.75);
padding: 0.5em 1.25em;
border-top-left-radius: 2em;
border-top-right-radius: 2em;

    border: none;
font-size: 1em;
}

.switchableTab-inactive {
    color: #5987d1;
display: inline-block;
padding: 0.5em 1.25em;
background-color: #CADDFA;
border-top-left-radius: 2em;
border-top-right-radius: 2em;
    border: none;
font-size: 1em;
}

div.tabs {
}

.switchableTab-inactive:hover {
border-right: 1px solid #5987d1;
border-top:1px solid #5987d1;
border-left:1px solid #5987d1;
}
  

Ответ №1:

У ваших файлов определены границы в 1 пиксель и унаследованы поля.

Добавление

 .tabs input[type='button'] {
    margin-bottom: 0px !important;
    border-bottom-width:0px !important;
}
  

должно сработать

http://jsfiddle.net/PH75U/

Ответ №2:

Обычно при использовании display:inline-block для двух разделов выравнивают рядом друг с другом. Возникает эта проблема.

Существует несколько методов решения этой проблемы; однако я предлагаю другое решение. Проверьте демонстрацию.

 input.SearchFormButton{font-size:14px;} /*again set the font-size as parent element have size 0*/
div.tabs {
    font-size:0; /*giving font-size:0 space removed*/
}
  

Комментарии:

1. Решение работает, пока я использую размер шрифта в пикселях. По какой-то причине это не работает, когда я устанавливаю его в em. Итак, спасибо, и вы получаете преимущество, но я приму другой ответ, который также работает с адаптивным дизайном.

2. @RumiP. спасибо, что поделились со мной знаниями .. это поможет мне и в будущем

Ответ №3:

потому что вы используете входные данные, которые имеют унаследованные поля и границы… используйте

 input[type='button'] {
margin: 0;
border:none;
}
  

убедительный совет: не используйте входные данные для вкладок… используйте divs и js

Комментарии:

1. Извините, но, как я сказал выше, я не могу изменить разметку. Есть причина, по которой это входные данные.

2. и a предоставил вам рабочий фрагмент CSS для ввода кнопок

3. «не используйте входные данные для вкладок» был просто советом