Leaderboard
Popular Content
Showing content with the highest reputation on 08/03/2011 in all areas
-
Вертикальное выравнивание. Часть 1. - для тех кто не в курсе. Только что пришла в голову еще одна идея, которая, на мой взгляд проще в реализации и опять же кроссбраузерна. <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> html, body { margin: 0; padding: 0; height: 100%; } .text { display: table; height: 100%; width: 100%; background: pink; } .inner { display: table-cell; text-align: center; vertical-align: middle; } </style> <!--[if lte IE 7]> <style type="text/css"> .text { writing-mode: tb-rl; text-align: center; } .inner { display: inline-block; width: 100%; writing-mode: lr-tb; } </style> <![endif]--> </head> <body> <div class="text"> <span class="inner">Я по центру</span> </div> </body> </html> Проверял в: ИЕ 9 ИЕ 9 (режим ИЕ 8) ИЕ 9 (режим ИЕ 7) Opera 11.11 Firefox 5 Chrome (последний) Safari 5.0.51 point
-
Этот небольшой плагин поможет вам быстро продублировать элемент вашей формы. Основная фишка плагина в том, что он может дублировать элемент формы увеличивая индексы его name и id, а так же дублировать несколько полей сразу, а его callback позволяет расширить плагин до таких задач, как: добавить кнопку "удалить" для каждого поля, запрещать создавать больше n эллементов. Плагин находится в тесте, если вы найдете баги или не сможете реализовать вашу задачу с помощью него, прошу отписать здесь. Требуемая HTML структура <div class="diplicate"> <a href="#">Add</a> <div class="items"> <input type="text" class="item" /> </div> </div> Опции плагина increment: true, // true — если вы хотите увеличивать все числа в атрибуте nam & id, false — если вы хотите просто клонировать элемент, например field[] incIndex: null, // если increment == true, вы можете задать массив индексов чисел которые надо увеличивать, по дефолту увеличивает все onDuplicate: false // CallBack плагина, в качестве параметра принимает новый эллемент Плагин /* * duplicateField jQuery plugin v0.1 beta * * * Copyright 2011, Ruslan Savenok */ (function ($) { $.fn.duplicateField = function (options) { options = $.extend($.fn.duplicateField.config, options); return this.each(function () { var $this = $(this); $this.find(CLASSES.add).click(function () { var $last = $this.find(CLASSES.item + ':last'), $clone = $last.clone(), $fields = $clone.find(':input').andSelf().filter(':input'); if (options.type == 'increment') { var numReg = /\d+/g; for (var i = 0; i < $fields.length; i++) { var mCount = -1; $fields[i].id = $fields[i].name = $fields[i].name.replace(numReg, function (match) { if (options.incIndex) { mCount++; if (mCount != options.incIndex[mCount]) return match; } return parseInt(match) + 1; }); } } $this.find(CLASSES.itemsContainer).append($clone); if (options.onDuplicate) { options.onDuplicate($clone); } return false; }); }); } $.fn.duplicateField.config = { increment: true, incIndex: null, onDuplicate: false } var CLASSES = $.fn.duplicateField.classes = { container: '.duplicate', add: '.add', itemsContainer: '.items', item: '.item' } })(jQuery);1 point
-
Без указания z-index'а позиционированный элемент не создает "stacking context", а с ним — создает. А внутри этого контекста порядок слоев определен спекой так: фон и границы элемента, содздающего stacking context. вложенные stacking context-ы c отрицательным z-index (чем больше по модулю, тем раньше). непозиционированные неинлайновые потомки в потоке непозиционированные float-ы непозиционированные инлайновые потомки в потоке (inline-table, inline-block). вложенные stacking context-ы и позиционированные потомки с нулевым z-index вложенные stacking context-ы c положительным z-index (чем меньше, тем раньше). Я сам это только что узнал Там еще немного хитрее. Если указан фон для body, а для html не указан, то по факту этот фон применяется именно к html (так сложилось исторически и закреплено в стандарте в качестве исключения). Если указать фон и для одного, и для второго, путаница исчезает и body начинает вести себя как обычный div.1 point
-
Это не совсем верно: позади фона body может быть что угодно, а вот позади фона canvas, наверное, уже вряд ли что-то может быть, хотя точно я не знаю. Соль в том, что фон body переносится на canvas, только если у html background: transparent и background-image: none. Если немного модифицировать наш код html {background: white;} #grey_box { width: 200px; height: 200px; border: solid 1px #ccc; background: #ddd; position: relative ; } #blue_box { width: 100px; height: 100px; border: solid 1px #4a7497; background: #8daac3; position: relative; z-index: -1; } и применить grey_box к body, а blue_box к потомку body, то потомок скроется под фоном body.1 point
-
Семантика это скользкая тема пока ещё. Вот скажем, что такое семантика? 1) Использование элементов по их назначению. 2) Набор правил для машинной обработки содержимого. По первому пункту спецификация HTML5 даёт недостаточно чёткое понимание, какие элементы и как использовать, возможны разночтения. Поэтому каждый разработчик доказывает, что его позиция единственно верная, со ссылкой на спецификацию причём. По второму пункту тоже надо конкретизировать, для какой конкретно машинной обработки делать. Для поисковиков? Яндексу важны микроформаты, Гугл настаивает на микроданных, т.е. им как-то фиолетово на теги HTML5. Что ещё? Речевые браузеры? Кто-нибудь видел хоть один, использовал, верстал под него? Вот и получается, что семантика на уровне тегов пока находится в плоскости "поговорим о ней".1 point
-
Дримак? Свичер? Байда? Кто все эти люди? А если серьёзно, то, может, не стоит пользоваться пунто свитчером?1 point
-
Какой хитый заказчик. Начинает с мелочей, заканчивает тоже якобы мелочами, но в каждом из пунктов таится не один день ковыряния.1 point
-
1 point
-
Меня до сих пор так и не убедили в необходимости этого самого ресета, в чем такое уж преимущество двойной работы — сперва превращать текста из неказистого, но по-своему логичного дефолтного оформления в совсем нечитаемую сплошную кашу, а потом разгребать эту кашу и украшать ее по-своему. Мне больше по душе какой-то такой подход...1 point
-
Вот интересная и реальная задача. Напишите конвертор валют, который конвертирует виртуальную валюту в реальную и наоборот, прикрепляю файл конфига валют с комментариями что для чего P.S. за готовым кодом для в личку var c_config = { // курсы валют sell/buy rate: { USD: { sell: 7.92, buy: 7.95 }, UAH: { sell: 1, buy: 1 }, RUB: { sell: 0.272, buy: 0.23 }, EUR: { sell: 11, buy: 10 } }, WM_FEE: 0.008 // комиссия web money currency: { WMZ: { title: 'Webmoney WMZ', // название в select-box который нам надо сгенерировать type: 'USD', // тип валюты относительно курса валют virtual: true, // виртуальная или реальная валюта maxWmFee: 50, // если эта переменная имеет значение, значит это wm валюта и ей надо задать максимальную wm комиссию minAmt: 10, // минимальная сумма ввода maxAmt: 100000, // максимальная sell: { // комиссии сервиса minFee: 1, // минимальная комиссия sFee: [ { int: '0-99', val: 0.032 }, // интервал, комиссия { int: '100-599', val: 0.03 }, { int: '600-9999', val: 0.02 }, { int: '10000', val: null } ] }, buy: { minFee: 1, sFee: [ { int: '0-100', val: 0.02 }, { int: '101-1000', val: 0.012 }, { int: '1001-5000', val: 0.01 }, { int: '5001', val: null } ] } }, WMU: { title: 'Webmoney WMU', type: 'UAH', virtual: true, maxWmFee: 250, minAmt: 30, maxAmt: 100000, sell: { minFee: 5, sFee: [ { int: '0-7000', val: 0.05 }, { int: '7001', val: 0.03 } ] }, buy: { minFee: 10, sFee: [ { int: '0-1000', val: 0.02 }, { int: '1001-5000', val: 0.018 }, { int: '5001', val: 0 } ] } }, WME: { title: 'Webmoney WME', virtual: true, type: 'EUR', maxWmFee: 50, minAmt: 10, maxAmt: 100000, sell: { minFee: 1, sFee: [ { int: '0-1000', val: 0.04 }, { int: '1001', val: null } ] }, buy: { minFee: 2, sFee: [ { int: '0', val: 0.024 } ] } }, WMR: { title: 'Webmoney WMR', type: 'RUB', virtual: true, maxWmFee: 1500, minAmt: 130, maxAmt: 100000, sell: { minFee: 25, sFee: [ { int: '0-3000', val: 0.01 }, { int: '3001', val: 0 } ] }, buy: { minFee: 25, sFee: [ { int: '0', val: 0.05 } ] } }, PRIVAT_USD: { title: 'Приватбанк USD', type: 'USD', minAmt: 10, maxAmt: 100000, hide_bankFee: true }, PRIVAT_UAH: { title: 'Приватбанк UAH', type: 'UAH', minAmt: 30, maxAmt: 100000, hide_bankFee: true }, UAH: { title: 'UAH', type: 'UAH', minAmt: 30, maxAmt: 100000, hide_bankFee: true }, OTP_USD: { title: 'OTP Bank USD', type: 'USD', minAmt: 10, maxAmt: 100000, }, UNIVERSAL_UAH: { title: 'Universal Bank UAH', type: 'UAH', minAmt: 30, maxAmt: 100000, }, WESTERN_USD: { title: 'Western Union USD', type: 'USD', minAmt: 10, maxAmt: 100000, }, MONEYGRAM_USD: { title: 'MoneyGram USD', type: 'USD', minAmt: 10, maxAmt: 100000, }, PRIVATMONEY_UAH: { title: 'PrivatMoney UAH', type: 'UAH', minAmt: 30, maxAmt: 100000, }, FOREX4YOU_USD: { title: 'Forex4you USD', type: 'USD', virtual: true, minAmt: 10, maxAmt: 100000, sell: { sFee: [ { int: '0-99', val: 0.032 }, { int: '100-599', val: 0.03 }, { int: '600-9999', val: 0.02 }, { int: '10000', val: null } ] }, buy: { sFee: [ { int: '0-100', val: 0.02 }, { int: '101-1000', val: 0.012 }, { int: '1001-5000', val: 0.01 }, { int: '5501', val: null } ] } }, INSTAFOREX_USD: { title: 'Instaforex USD', type: 'USD', virtual: true, minAmt: 10, maxAmt: 100000, sell: { sFee: [ { int: '0-99', val: 0.032 }, { int: '100-599', val: 0.03 }, { int: '600-9999', val: 0.02 }, { int: '10000', val: null } ] }, buy: { sFee: [ { int: '0-100', val: 0.02 }, { int: '101-1000', val: 0.012 }, { int: '1001-5000', val: 0.01 }, { int: '5501', val: null } ] } } } } А вот набросок формул: IN_INPUT Поле ввода IN [тип валюты].[направление].FEE Комиссия сервиса [тип валюты].[направление].RATE Курс валюты WM.FEE Комиссия Web Money ————————————————————————- WMZ -> PRIVAT USD IN_INPUT - IN_INPUT * WMZ.OUT.FEE WMZ -> PRIVAT UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * WMZ.OUT.FEE WMZ -> UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * WMZ.OUT.FEE WMZ -> OTP USD IN_INPUT - IN_INPUT * WMZ.OUT.FEE WMZ -> UNIVERSAL UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * WMZ.OUT.FEE WMZ -> WESTERN USD IN_INPUT - IN_INPUT * WMZ.OUT.FEE WMZ -> MONEYGRAM USD IN_INPUT - IN_INPUT * WMZ.OUT.FEE WMZ -> PRIVATMONEY UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * WMZ.OUT.FEE ————————————————————————- WMR -> PRIVAT USD IN_INPUT * RUB.SELL.RATE/USD.BUY.RATE - IN_INPUT * WMR.OUT.FEE * RUB.SELL.RATE/USD.BUY.RATE WMR -> PRIVAT UAH IN_INPUT * RUB.SELL.RATE - IN_INPUT * RUB.SELL.RATE * WMR.OUT.FEE WMR -> UAH IN_INPUT * RUB.SELL.RATE - IN_INPUT * RUB.SELL.RATE * WMR.OUT.FEE WMR -> OTP USD IN_INPUT * RUB.SELL.RATE/USD.BUY.RATE - IN_INPUT * WMR.OUT.FEE * RUB.SELL.RATE/USD.BUY.RATE WMR -> UNIVERSAL UAH IN_INPUT * RUB.SELL.RATE - IN_INPUT * RUB.SELL.RATE * WMR.OUT.FEE WMR -> WESTERN USD IN_INPUT * RUB.SELL.RATE/USD.BUY.RATE - IN_INPUT * WMR.OUT.FEE * RUB.SELL.RATE/USD.BUY.RATE WMR -> MONEYGRAM USD IN_INPUT * RUB.SELL.RATE/USD.BUY.RATE - IN_INPUT * WMR.OUT.FEE * RUB.SELL.RATE/USD.BUY.RATE WMR -> PRIVATMONEY UAH IN_INPUT * RUB.SELL.RATE - IN_INPUT * RUB.SELL.RATE * WMR.OUT.FEE ————————————————————————- WMU -> PRIVAT USD IN_INPUT / USD.BUY.RATE - IN_INPUT / USD.BUY.RATE * WMU.OUT.FEE WMU -> PRIVAT UAH IN_INPUT - IN_INPUT * WMU.OUT.FEE WMU -> UAH IN_INPUT - IN_INPUT * WMU.OUT.FEE WMU -> OTP USD IN_INPUT / USD.BUY.RATE - IN_INPUT / USD.BUY.RATE * WMU.OUT.FEE WMU -> UNIVERSAL UAH IN_INPUT - IN_INPUT * WMU.OUT.FEE WMU -> WESTERN USD IN_INPUT / USD.BUY.RATE - IN_INPUT / USD.BUY.RATE * WMU.OUT.FEE WMU -> MONEYGRAM USD IN_INPUT / USD.BUY.RATE - IN_INPUT / USD.BUY.RATE * WMU.OUT.FEE WMU -> PRIVATMONEY UAH IN_INPUT - IN_INPUT * WMU.OUT.FEE ————————————————————————- WME -> PRIVAT USD IN_INPUT * EUR.SELL.RATE/USD.BUY.RATE - IN_INPUT * WME.OUT.FEE * EUR.SELL.RATE/USD.BUY.RATE WME -> PRIVAT UAH IN_INPUT * EUR.SELL.RATE - IN_INPUT * EUR.SELL.RATE * WME.OUT.FEE WME -> UAH IN_INPUT * EUR.SELL.RATE - IN_INPUT * EUR.SELL.RATE * WME.OUT.FEE WME -> OTP USD IN_INPUT * EUR.SELL.RATE/USD.BUY.RATE - IN_INPUT * WME.OUT.FEE * EUR.SELL.RATE/USD.BUY.RATE WME -> UNIVERSAL UAH IN_INPUT * EUR.SELL.RATE - IN_INPUT * EUR.SELL.RATE * WME.OUT.FEE WME -> WESTERN USD IN_INPUT * EUR.SELL.RATE/USD.BUY.RATE - IN_INPUT * WME.OUT.FEE * EUR.SELL.RATE/USD.BUY.RATE WME -> MONEYGRAM USD IN_INPUT * EUR.SELL.RATE/USD.BUY.RATE - IN_INPUT * WME.OUT.FEE * EUR.SELL.RATE/USD.BUY.RATE WME -> PRIVATMONEY UAH IN_INPUT * EUR.SELL.RATE - IN_INPUT * EUR.SELL.RATE * WME.OUT.FEE ————————————————————————- PRIVAT USD -> WMZ (IN_INPUT - IN_INPUT * IN.FEE) - WM.FEE PRIVAT UAH -> WMZ (IN_INPUT / USD.BUY.RATE - IN_INPUT / USD.BUY.RATE * WMZ.IN.FEE) - WM.FEE UAH -> WMZ (IN_INPUT / USD.BUY.RATE - IN_INPUT / USD.BUY.RATE * WMZ.IN.FEE) - WM.FEE OTP USD -> WMZ (IN_INPUT - IN_INPUT * WMZ.IN.FEE) - WM.FEE UNIVERSAL UAH -> WMZ (IN_INPUT / USD.BUY.RATE - IN_INPUT / USD.BUY.RATE * WMZ.IN.FEE) - WM.FEE WESTERN USD -> WMZ (IN_INPUT - IN_INPUT * WMZ.IN.FEE) - WM.FEE MONEYGRAM USD -> WMZ (IN_INPUT - IN_INPUT * WMZ.IN.FEE) - WM.FEE PRIVATMONEY UAH -> WMZ (IN_INPUT / USD.BUY.RATE - IN_INPUT / USD.BUY.RATE * WMZ.IN.FEE) - WM.FEE ————————————————————————- PRIVAT USD -> WMR (IN_INPUT / (USD.SELL.RATE/RUB.BUY.RARE) - IN_INPUT * WMR.IN.FEE) - WM.FEE PRIVAT UAH -> WMR (IN_INPUT / RUB.BUY.RATE - IN_INPUT / RUB.BUY.RATE * WMR.IN.FEE) - WM.FEE UAH -> WMR (IN_INPUT / RUB.BUY.RATE - IN_INPUT / RUB.BUY.RATE * WMR.IN.FEE) - WM.FEE OTP USD -> WMR (IN_INPUT / (USD.SELL.RATE/RUB.BUY.RARE) - IN_INPUT * WMR.IN.FEE) - WM.FEE UNIVERSAL UAH -> WMR (IN_INPUT / RUB.BUY.RATE - IN_INPUT / RUB.BUY.RATE * WMR.IN.FEE) - WM.FEE WESTERN USD -> WMR (IN_INPUT / (USD.SELL.RATE/RUB.BUY.RARE) - IN_INPUT * WMR.IN.FEE) - WM.FEE MONEYGRAM USD -> WMR (IN_INPUT / (USD.SELL.RATE/RUB.BUY.RARE) - IN_INPUT * WMR.IN.FEE) - WM.FEE PRIVATMONEY UAH -> WMR (IN_INPUT / RUB.BUY.RATE - IN_INPUT / RUB.BUY.RATE * WMR.IN.FEE) - WM.FEE ————————————————————————- PRIVAT USD -> WME (IN_INPUT / (USD.SELL.RATE/EUR.BUY.RARE) - IN_INPUT * WME.IN.FEE) - WM.FEE PRIVAT UAH -> WME (IN_INPUT / RUB.BUY.RATE - IN_INPUT / RUB.BUY.RATE * WME.IN.FEE) - WM.FEE UAH -> WME (IN_INPUT / RUB.BUY.RATE - IN_INPUT / RUB.BUY.RATE * WME.IN.FEE) - WM.FEE OTP USD -> WME (IN_INPUT / (USD.SELL.RATE/EUR.BUY.RARE) - IN_INPUT * WME.IN.FEE) - WM.FEE UNIVERSAL UAH -> WME (IN_INPUT / RUB.BUY.RATE - IN_INPUT / RUB.BUY.RATE * WME.IN.FEE) - WM.FEE WESTERN USD -> WME (IN_INPUT / (USD.SELL.RATE/EUR.BUY.RARE) - IN_INPUT * WME.IN.FEE) - WM.FEE MONEYGRAM USD -> WME (IN_INPUT / (USD.SELL.RATE/EUR.BUY.RARE) - IN_INPUT * WME.IN.FEE) - WM.FEE PRIVATMONEY UAH -> WME (IN_INPUT / RUB.BUY.RATE - IN_INPUT / RUB.BUY.RATE * WME.IN.FEE) - WM.FEE ————————————————————————- PRIVAT USD -> WMU (IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * WMU.IN.FEE) - WM.FEE PRIVAT UAH -> WMU (IN_INPUT - IN_INPUT * WMU.IN.FEE) - WM.FEE UAH -> WMU (IN_INPUT - IN_INPUT * WMU.IN.FEE) - WM.FEE OTP USD -> WMU (IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * WMU.IN.FEE) - WM.FEE UNIVERSAL UAH -> WMU (IN_INPUT - IN_INPUT * WMU.IN.FEE) - WM.FEE WESTERN USD -> WMU (IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * WMU.IN.FEE) - WM.FEE MONEYGRAM USD -> WMU (IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * WMU.IN.FEE) - WM.FEE PRIVATMONEY UAH -> WMU (IN_INPUT - IN_INPUT * WMU.IN.FEE) - WM.FEE ————————————————————————- PRIVAT USD -> INSTA_FOREX IN_INPUT - IN_INPUT * INSTA_FOREX.IN.FEE PRIVAT UAH -> INSTA_FOREX IN_INPUT / USD.BUY.RATE - IN_INPUT * INSTA_FOREX.IN.FEE UAH -> INSTA_FOREX IN_INPUT / USD.BUY.RATE - IN_INPUT * INSTA_FOREX.IN.FEE OTP USD -> INSTA_FOREX IN_INPUT - IN_INPUT * INSTA_FOREX.IN.FEE UNIVERSAL UAH -> INSTA_FOREX IN_INPUT / USD.BUY.RATE - IN_INPUT * INSTA_FOREX.IN.FEE WESTERN USD -> INSTA_FOREX IN_INPUT - IN_INPUT * INSTA_FOREX.IN.FEE MONEYGRAM USD -> INSTA_FOREX IN_INPUT - IN_INPUT * INSTA_FOREX.IN.FEE PRIVATMONEY UAH -> INSTA_FOREX IN_INPUT / USD.BUY.RATE - IN_INPUT * INSTA_FOREX.IN.FEE ————————————————————————- PRIVAT USD -> FOREX4YOU IN_INPUT - IN_INPUT * FOREX4YOU.IN.FEE PRIVAT UAH -> FOREX4YOU IN_INPUT / USD.BUY.RATE - IN_INPUT * FOREX4YOU.IN.FEE UAH -> FOREX4YOU IN_INPUT / USD.BUY.RATE - IN_INPUT * FOREX4YOU.IN.FEE OTP USD -> FOREX4YOU IN_INPUT - IN_INPUT * FOREX4YOU.IN.FEE UNIVERSAL UAH -> FOREX4YOU IN_INPUT / USD.BUY.RATE - IN_INPUT * FOREX4YOU.IN.FEE WESTERN USD -> FOREX4YOU IN_INPUT - IN_INPUT * FOREX4YOU.IN.FEE MONEYGRAM USD -> FOREX4YOU IN_INPUT - IN_INPUT * FOREX4YOU.IN.FEE PRIVATMONEY UAH -> FOREX4YOU IN_INPUT / USD.BUY.RATE - IN_INPUT * FOREX4YOU.IN.FEE ————————————————————————- FOREX4YOU -> PRIVAT USD IN_INPUT - IN_INPUT * FOREX4YOU.OUT.FEE FOREX4YOU -> PRIVAT UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * FOREX4YOU.OUT.FEE FOREX4YOU -> UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * FOREX4YOU.OUT.FEE FOREX4YOU -> OTP USD IN_INPUT - IN_INPUT * FOREX4YOU.OUT.FEE FOREX4YOU -> UNIVERSAL UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * FOREX4YOU.OUT.FEE FOREX4YOU -> WESTERN USD IN_INPUT - IN_INPUT * FOREX4YOU.OUT.FEE FOREX4YOU -> MONEYGRAM USD IN_INPUT - IN_INPUT * FOREX4YOU.OUT.FEE FOREX4YOU -> PRIVATMONEY UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * FOREX4YOU.OUT.FEE ————————————————————————- INSTA_FOREX -> PRIVAT USD IN_INPUT - IN_INPUT * INSTA_FOREX.OUT.FEE INSTA_FOREX -> PRIVAT UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * INSTA_FOREX.OUT.FEE INSTA_FOREX -> UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * INSTA_FOREX.OUT.FEE INSTA_FOREX -> OTP USD IN_INPUT - IN_INPUT * INSTA_FOREX.OUT.FEE INSTA_FOREX -> UNIVERSAL UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * INSTA_FOREX.OUT.FEE INSTA_FOREX -> WESTERN USD IN_INPUT - IN_INPUT * INSTA_FOREX.OUT.FEE INSTA_FOREX -> MONEYGRAM USD IN_INPUT - IN_INPUT * INSTA_FOREX.OUT.FEE INSTA_FOREX -> PRIVATMONEY UAH IN_INPUT * USD.SELL.RATE - IN_INPUT * USD.SELL.RATE * INSTA_FOREX.OUT.FEE0 points
-
-1 points
-
RewriteRule ^/catalog/(.*)/(.*)/$ /catalog/?arrFilter_ff[NAME]=$1&marka=$2&set_filter=% D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80&set_filter=Yникогда заранее не знаешь заработает ли оно в .htaccess-1 points
-
Заказчик одобрил т.н. ТЗ. Многие элементы простые. Интересует ваше мнение, сколько бы вы взяли денег за такую работу? ТЗ: Сколько бы вы за такое взяли?-1 points
This leaderboard is set to Kiev/GMT+02:00
-
Upcoming Events
No upcoming events found -
Сообщения форума
-
Доброго всем времени суток. Прошу помощи. Научите принципу изменения футера. Движок Xenforo. Версия 2.2.10. Стиль дефолтный. Что именно нужно в итоге на фото примере. Мой шаблон app.footer less имеет следующее значение. .p-footer { .xf-publicFooter(); a { .xf-publicFooterLink(); } } .p-footer-inner { .m-pageWidth(); .m-pageInset(); padding-top: @xf-paddingMedium; padding-bottom: @xf-paddingLarge; } .p-footer-row { .m-clearFix(); margin-bottom: -@xf-paddingLarge; } .p-footer-row-main { float: left; margin-bottom: @xf-paddingLarge; } .p-footer-row-opposite { float: right; margin-bottom: @xf-paddingLarge; } .p-footer-linkList { .m-listPlain(); .m-clearFix(); > li { float: left; margin-right: .5em; &:last-child { margin-right: 0; } a { padding: 2px 4px; border-radius: @xf-borderRadiusSmall; &:hover { text-decoration: none; background-color: fade(@xf-publicFooterLink--color, 10%); } } } } .p-footer-rssLink { > span { position: relative; top: -1px; display: inline-block; width: 1.44em; height: 1.44em; line-height: 1.44em; text-align: center; font-size: .8em; background-color: #4682B4; border-radius: 2px; } .fa-rss { color: white; } } .p-footer-copyright { margin-top: @xf-elementSpacer; text-align: center; font-size: @xf-fontSizeSmallest; } .p-footer-debug { margin-top: @xf-paddingLarge; text-align: right; font-size: @xf-fontSizeSmallest; .pairs > dt { color: inherit; } } @media (max-width: @xf-responsiveMedium) { .p-footer-row-main, .p-footer-row-opposite { float: none; } .p-footer-copyright { text-align: left; padding: 0 4px; // aligns with other links } }
-
Нужны сайты с примерами верстки, типа https://css-tricks.com/. Типовые приемы и нестандартные на все случаи жизни. Накидайте ссылок.
-
By Katerina23 · Posted
Да, подходит. Спасибо. -
<input type="number">
-
By Katerina23 · Posted
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке. Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
-