Проблемы при создании окна с помощью CSS

Я хочу создать форму коробки, но у меня возникли проблемы. Я хочу, чтобы у коробки был цвет фона, а затем другой цвет внутри коробки. В этом случае в поле будет список элементов с использованием ul и li, и каждый элемент списка будет иметь белый фон, а цвет фона элемента списка будет слишком растянут на все расстояние внутреннего поля. Кроме того, элементы списка должны иметь интервал в 1 пиксель между каждым, чтобы был виден цвет фона цвета внутреннего блока.

Вот примерный набросок того, что я пытаюсь сделать:

Проблемы при создании окна с помощью CSS

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
6
0
11 094
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Итак, если у вас есть источник:

<div class = "panel">
  <div>Some other stuff</div>
  <ul>
    <li>Item 1</li>
    <li>Item 2</li>
  </ul>
</div>

Вы можете использовать CSS:

div.panel { background-color: #A74; border: solid 0.5em #520; width: 10em; 
            border-width: 0.75em 0.25em 0.75em 0.25em; }
div.panel div { padding: 2px; height: 4em; }
div.panel ul li { display: block; background-color: white; 
                      margin: 2px; padding: 1px 4px 1px 4px; }
div.panel ul { margin: 0; padding-left: 0; }

Чтобы CSS работал правильно (особенно в Internet Explorer), убедитесь, что у вас есть соответствующее определение DOCTYPE в вашем документе. См. Список в Доктайпы, рекомендованные w3c.

Почему дочерние селекторы? Мне неизвестен тип документа, который позволит дочерним селекторам (>) работать в IE6 ...

Prestaul 21.09.2008 18:13

Хорошо, я удалил их, так как они были лишними по сравнению с требованиями.

Mike Tunnicliffe 01.10.2008 03:21

Может быть, эти двое помогут:

Ответ принят как подходящий

Вы можете сделать это довольно чисто с помощью этого css:

.box {
        width: 100px;
        border: solid #884400;
        border-width: 8px 3px 8px 3px;
        background-color: #ccaa77;
}

.box ul {
        margin: 0px;
        padding: 0px;
        padding-top: 50px; /* presuming the non-list header space at the top of
                              your box is desirable */
}

.box ul li {
        margin: 0px 2px 2px 2px; /* reduce to 1px if you find the separation
                                    sufficiently visible */
        background-color: #ffffff;
        list-style-type: none;
        padding-left: 2px;
}

и этот html:

<div class = "box">
  <ul>
    <li>Lorem</li>
    <li>Ipsum</li>
   </ul>
</div>

ДЕМО

это выглядит великолепно, за исключением того, что ширина по какой-то причине не составляет 100% от этого контейнера, на самом деле по какой-то причине это очень узко, какие-либо идеи?

public static 21.09.2008 23:28

HTML:

<div id = "content">
        <a><div class = "title">Title</div>Text</a>
        <ul>
            <li>Text</li>
            <li>More Text...</li>
        </ul>
    </div>

CSS:

#content{
            text-align:left;
            width:200px;
            background:#e0c784;
            border-top:solid 10px #7f4200;
            border-bottom:solid 10px #7f4200;
            border-right:solid 5px #7f4200;
            border-left:solid 5px #7f4200;
        }
        #content a{
            margin-left:20px;
        }

        #content ul{
            list-style-type:none;
            margin-bottom:0px;
        }
        #content ul li{
            padding-left:20px;
            margin:0px 0px 1px -40px;
            text-align:left;
            width:180px;
            list-style-type:none;
            background-color:white;
        }
        #content .title{
            text-align:center;
            font-weight:bolder;
            text-align:center;
            font-size:20px;
            border-bottom:solid 2px #ffcc99;
            background:#996633;
            color:#ffffff;
            margin-bottom:20px;
        }



Надеюсь, это поможет .... Я также добавил к нему заголовок, если он вам не нравится, просто удалите его ...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
  <HEAD>
    <TITLE>Examples of margins, padding, and borders</TITLE>
    <STYLE type = "text/css">
      UL { 
        background: yellow; 
        margin: 12px 12px 12px 12px;
        padding: 3px 3px 3px 3px;
                                     /* No borders set */
      }
      LI { 
        color: white;                /* text color is white */ 
        background: blue;            /* Content, padding will be blue */
        margin: 12px 12px 12px 12px;
        padding: 12px 0px 12px 12px; /* Note 0px padding right */
        list-style: none             /* no glyphs before a list item */
                                     /* No borders set */
      }
      LI.withborder {
        border-style: dashed;
        border-width: medium;        /* sets border width on all sides */
        border-color: lime;
      }
    </STYLE>
  </HEAD>
  <BODY>
    <UL>
      <LI>First element of list
      <LI class = "withborder">Second element of list is
           a bit longer to illustrate wrapping.
    </UL>
  </BODY>
</HTML>

Другие вопросы по теме