Jump to content

ruslan.savenok

User
  • Posts

    98
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by ruslan.savenok

  1. Многовато библиотека весит, лучше написать отдельный скрипт од ослы IE8-, там в статье пример скрипта есть по 2-й ссылке.
  2. Только на JS, по размеру экрана цепляем на body class и относительно данного класса пишем размер шрифта $(document).ready(function() { var $ww = $(window).width(), bClass = ''; switch($ww) { case $ww < 1000: bClass = 'px12'; break; default: bClass = 'px11'; } $('body').addClass(bClass); });
  3. Есть к нему плагин TextFX, а вообще посоветую вам Microsoft Visual Web Developer это бесплатная укороченная версия Visual Studio для верстальщиков и .net разработчиков
  4. #content {float: left; margin-left: 0;}
  5. Вот быстро сделал набросок, далее думаю у Вас проблем со стилизацией не будет dpdn.zip
  6. Я не могу участвовать в диалогах пока не наберу 30 сообщений :)

  7. MaferoK, Использую короткую версию вашего ресата + небольшой фикс инпутов для ff ::-moz-focus-inner{padding:0;border:0}
  8. В конце книги есть примеры кусков фона и как их делать повторяемыми
  9. Titansword, тут так просто не выйдет т.к. нам надо вытягивать ul > li > ul с ul > li да бы залезть под него, но можно в данном случае использовать обертку либо a и поставить на нее фон полупрозрачного бордюра, тогда он перекроет ul > li > ul. P.S. Интересная задача, хочу это сверстать, пришлите мне макет
  10. Есть очень хорошая книга Философия CSS-дизайна, полистайте, она мне помогла понять как правильно верстать резину когда это на первый взгляд не возможно без перерисовки макета
  11. savenok - собака - csshero.ru дайте PSD
  12. Вот интересная и реальная задача. Напишите конвертор валют, который конвертирует виртуальную валюту в реальную и наоборот, прикрепляю файл конфига валют с комментариями что для чего 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.FEE
  13. Titansword, у вас есть картинка готового результата? Давайте я напишу вам код IE6 must die Вы это моим клиентам скажите
  14. Я так понимаю такой вопрос будет не один и приходить они будут либо с сервера либо сразу в js жить, прекрасно было бы использовать JSON { question: 'вопрос', answers: [ { answer: 'ответ 1', right: true }, { answer: 'ответ 2', right: false } ] } Если хотите делать через prompt: var q = { question: 'вопрос', answers: [ { answer: 'ответ 1', right: true }, { answer: 'ответ 2', right: false } ] }; function generateQuestion(dataObj) { var str = dataObj.question + ' ?\n'; for(var i=0; i<dataObj.answers.length; i++) { str += i+1 + '. ' + dataObj.answers[i].answer + '\n'; } var result = prompt(str); /* тут надо проверить результат, действительно ли юзер ввел число иначе будет ошибка. С буквами сделать так же просто, надо лишь создать массив букв. */ if(dataObj.answers[parseInt(result)-1].right) { alert('Вы ответили верно'); } else { alert('Облажался!'); } } generateQuestion(q); На данной основе так же легко сделать popup div c генерацией radio кнопок
  15. С радостью исправлю за 150р
  16. Как не подошло? Вам нужно сделать структуру ul > li это будет семантично, а выпадающее меню любой сложности, в том числе и ваше можно написать очень просто. Опишите пожалуйста что именно вам не подходит в конструкции ul > li +IE6 fix
  17. Даже если будут скобки внутри скобок, данный вариант вытащит последнюю комбинацию [число а]
  18. Если уж изображения с "дыркой" весят на порядок больше чем 2 отдельных, попробуйте такую конструкцию <div class="left-bg"></div> <div class="right-bg"></div> <div id="wrap"> </div> .left-bg { width: 50%; position: absolute; left: 0; top: 0; height: высота фона; /* если ваш фон повторяется то это точно с "дыркой" надо делать*/ } .right-bg { width: 50%; position: absolute; right: 0; top: 0; height: высота фона; } #wrap { width: 1000px; margin: 0 auto; /* эту часть есть ваш фон по причине разметки выше слоя с контентом*/ position: relative; z-index: 10; }
  19. Я верстаю #wrap {min-width: 990px; width: 90%;} Но обычно дизайнеры рисуют макеты в 1000 пикселей по этому min-width приходится брать больше
  20. C Вашим вариантом у меня вообще вышло 200 пикселей лишних 781 - (103 + 20 + 20) - (109 + 20 + 20) - (235 + 20 + 20) - (114 + 20 + 20) - (220 + 20 + 20) = -200 Советую написать фиксированный ul и не задавать пунктам меню ширину, последнему li добавьте класс .last и css код .last {padding-right: 0;} таким образом у вас будет запас в 20 пикселей, чего хватит любому браузеру что бы одолеть проблемы масштабирования. Можно поставить ul {overflow: hidden;} но такой вариант я люблю меньше.
  21. http://jsfiddle.net/EKq4G/ P.S. Учитесь верстать семантично Там используется css reset с параметром list-style: none;
  22. Titansword, зачем придумывать "велосипед с квадратными колесами"? Почитай о выпадающих меню http://www.threestyles.com/tutorials/css-drop-down-navigation-tutorial/
  23. var str = 'sortdata[1a]'; var result = str.replace(/[[]\d+a]/g, function(match) { return match.replace(/a/, 'b'); }); console.log(result);
  24. IE6+ метод, который использую я — http://www.brunildo.org/test/img_center.html
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy