CSS форматирование для значений - PullRequest
0 голосов
/ 11 сентября 2011

Я пытаюсь выровнять значения.Код:

<section class="message success">
      Variable1: Value1<br/>
      Variable2 : Value2<br/>  
</section>

.message.success {
border: 1px solid #b8c97b;
background-color: #e5edc4;
background-image: -o-linear-gradient(top,  #e5edc4,  #d9e4ac);
background-image: -ms-linear-gradient(top,  #e5edc4,  #d9e4ac);
background-image: -moz-linear-gradient(top,  #e5edc4,  #d9e4ac);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e5edc4), to(#d9e4ac));
background-image: -webkit-linear-gradient(top,  #e5edc4,  #d9e4ac);
background-image: linear-gradient(top,  #e5edc4,  #d9e4ac);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e5edc4', endColorstr='#d9e4ac');
color: #3f7227;
text-shadow: 0 1px 1px #fff;
}

Я хочу, чтобы значения были правильно выровнены следующим образом:

Variable1    :     Value1
Variable2    :     Value2

Спасибо.

Ответы [ 4 ]

2 голосов
/ 11 сентября 2011

Лучше всего использовать таблицу так:

<table class="message success">
    <tr>
        <td class="var">Variable1</td>
        <td class="sem">:</td>
        <td class="val">Value1</td>
    </tr>
    <tr>
        <td class="var">Variable2</td>
        <td class="sem">:</td>
        <td class="val">Value2</td>
    </tr>
</table>

, а затем с помощью css вы можете выровнять так:

.val {width:100px;}
.sem {width:40px;}
.var {width:100px;}

См. Пример в реальном времени: http://jsfiddle.net/nayish/uenzN/2/

1 голос
/ 11 сентября 2011

CSS:

.variable { margin-right : 40px; display: inline-block; width: 120px; }
.value { margin-left : 40px; display: inline-block; width: 120px; }

PHP код:

echo '<span class="variable">'.$variable1.'</span>:<span class="value">'.$value1.'</span><br />';
echo '<span class="variable">'.$variable1.'</span>:<span class="value">'.$value1.'</span><br />';

... и так далее ...

Вы также можете работать с псевдоклассами CSS3:

span { display: inline-block; width: 120px; }
span:nth-child(odd) { margin-right : 40px;}
span:nth-child(even) { margin-left : 40px;}

В этом случае ваш код PHP будет светлее:

echo '<span>'.$variable1.'</span>:<span>'.$value1.'</span><br />';
echo '<span>'.$variable2.'</span>:<span>'.$value2.'</span><br />';

... и так далее ...

1 голос
/ 11 сентября 2011

На самом деле я не могу понять, что вы хотите сделать, но, возможно, вам следует использовать таблицы:

<table border="0">
<tr><td>Variable1:</td> <td>Value1</td></tr>
<tr><td>Variable2:</td> <td>Value2</td></tr>
</table>
0 голосов
/ 11 сентября 2011

Я бы использовал список определений, если вы выводите пары ключ-значение. Ваша наценка будет выглядеть следующим образом:

<dl>
  <dt>Variable 1</dt> <dd>Value 1</dd>
  <dt>Variable 2</dt> <dd>Value 2</dd>
</dl>

Затем вы можете использовать CSS для стилизации этого списка:

dt {
    display: block;
    float: left;
    clear: left;
}
dd {
    margin-left: 5em; /* this will line up the values */
}
dd:before {
    content: ':';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...