ReifTer

Рейтинг
56
Регистрация
07.04.2008
Изучил. Таки говнокод.

Хаки - это на крайний случай, если стандартные средства не подходят, а реализовать можно множеством разных способов.

palladin_jedi, приведите хотя бы один пример стандартными средствами, чтобы можно было отображать блоки с динамическим содержимым как у ТС, чтобы они не разъезжались и работали в ИЕ 6,7,8, Опере 9,5 и выше, лиса и хром без разницы какой версий. НЕ таблицами! Если не покажите, значит это пустой треп с вашей стороны.

P.S. На счет хаков, не нравятся хаки, выведите хаки в условие комментарии (в данном случае для ие 6) и будет всё по стандартам, в чем проблема я не понимаю?

Что значит во всех, в старых смотрели?

ИЕ6,7,8,9 - работает

Опера 9 и выше - работает

Firefox 3 и выше работает

Chrome - работает

____________

Это где я тестировал, этого не достаточно?

На сколько я знаю, бордер расчитан только для блочных элементов, вместо span используйте контейнер, или преобразуйте в блочный элемент.

В w3c стандартах, запретов ставить border для inline нет. Если видели скиньте пожалуйста буду благодарен :)


Теперь посмотрите, какая ситуация в IE. Изучайте.
http://htmlbook.ru/css/display

Сашко, и? прежде чем что-то писать, вы сначала изучите с чем имеете дело.


Не, не так. Надо так - "я тупо слизал пример с хабра не вникая".

Суть не в этом, где это было слизано, с хабра или не хабра. Вы прежде чем утверждать, что это говнокод, изучите. Если вы не знаете простого хака для ИЕ, то вы мало верстали значит. И ваш пример нельзя использовать в блоках с динамически добавляемым текстом, судя по картинки ТС там как раз этот случай. Поэтому я показал как решить эту проблему, из-за которой кстати возникла ошибка у ТС с блоками. Вырезание текста если он не влазит, ну если вам нравится такой вариант делайте, мне как-то без разницы.


На сколько я знаю, бордер расчитан только для блочных элементов, вместо span используйте контейнер, или преобразуйте в блочный элемент.

Цитата:
<span style="line-height:1.3">
Это не кроссбраузерно.

Работает во всех браузерах, значит уже кроссбраузерно или где-то не работает? Вроде в основных просмотрел всё работает.

Chukcha, у вас ща проблема в том, что вы не можете текст "сделать заказ" поднять margin-top'ом? для этого нужен блочный элемент чтобы был. Можно решить это другим способом position:relative;

Примерно так:

<div class="zacaz" style="position:relative;">

<span style="line-height:1.3;position:relative;top:-4px;">Сделать заказ</span>

</div>

Нашел на хабре такой же пример как у меня. Изучайте http://habrahabr.ru/blogs/css/117109/

поставил <span style="line-height:1.3">Сделать заказ</span> отображает подчеркивание, делаю меньше 1.3 исчезает

Алексей Барыкин, вы тестировал мой код прежде чем утверждать это? В моём случае не нужно указывать высоты, и текст в блоках может быть любого количества, при этом блоки будут вести себя правильно.

ReifTer добавил 29.10.2011 в 02:00

Мой пример

Сделайте примерно так


<style>
.maincont {width:700px;}
.block {
display: -moz-inline-stack;
display:inline-block;
vertical-align:text-top;
zoom:1;
*display:inline;
width:49%;
}
.block img {
width: 350px;
height: 250px;
margin:0;
padding:0;
}
</style>

<div class="maincont">
<div class="block">код</div>
<div class="block">код</div>
<div class="block">код</div>
<div class="block">код</div>
<div class="block">код</div>
<div class="block">код</div>
<div class="block">код</div>
</div>

я привел полностью рабочий вариант кода, ошибок не должно быть.

Набросок



<?

if(isset($_POST["submit"])) {

// регистрационная информация (логин, пароль #1)
// registration info (login, password #1)
$mrh_login = "demo";
$mrh_pass1 = "Morbid11";

// номер заказа
// number of order
$inv_id = 0;

// описание заказа
// order description
$inv_desc = "ROBOKASSA Advanced User Guide";

// сумма заказа
// sum of order
$out_summ = $_POST["OutSum"];

// тип товара
// code of goods
$shp_item = 1;

// предлагаемая валюта платежа
// default payment e-currency
$in_curr = "PCR";

// язык
// language
$culture = "en";

// кодировка
// encoding
$encoding = "utf-8";

// формирование подписи
// generate signature
$crc = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item");

// HTML-страница с кассой
// ROBOKASSA HTML-page
print "<html><script language=JavaScript ".
"src='https://merchant.roboxchange.com/Handler/MrchSumPreview.ashx?".
"MrchLogin=$mrh_login&OutSum=$out_summ&InvId=$inv_id&IncCurrLabel=$in_curr".
"&Desc=$inv_desc&SignatureValue=$crc&Shp_item=$shp_item".
"&Culture=$culture&Encoding=$encoding'></script></html>";


}
else {


?>
<form name='submit_form' action="" method="POST">
<table cellspacing="10" width="50%" style="margin:0 auto;">
<tr>
<td>Введите сумму для пополнения (WMR): </td>
<td><input type="text" name="OutSum" value=""></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Оплатить"></td>
</tr>
</table>

</form>


<?php

}

?>

ReifTer добавил 19.10.2011 в 20:36

Неправильно код заливается, нужно

if(isset($_POST***91;"submit"***93;)) {

заменить на

if(isset($_POST["submit"])) {

$out_summ = $_POST***91;"OutSum"***93;;

заменить на

$out_summ = $_POST["OutSum"];

1 2345 6
Всего: 57