Доброго времени суток! Шаблон joomlabox0905. Содержимое модулей mod_snx_scroller_datsogallery (то бишь прокручивающиеся картинки) и mod_mostread (текстовые ссылки на наиболее читаемые статьи) прижаты к одному краю. Хотелось бы выровнять их по центру. В таблице стилей нашел только это, влияющее на положение содержимого Код (CODE): table.moduletable td { padding: 1px 1px 1px 1px; } При изменении этих значений содержимое сдвигается за счет обрезки самого содержимого. Насколько я понимаю, где то еще (более глубоко) заданы параметры этих положений. Прошу вашей подсказки - ГДЕ и КАК? Спасибо.
Ответ: Изменение положения содержимого модуля У меня другой вопрос: вот кусок из цсс шаблона vc_slo Код (CODE): table.moduletable { width : 100%; } table.moduletable th { font-size : 11px; font-weight : bold; color : #ffcc00; text-align : center; background-image : url('../images/allinlos.jpg'); width : 100%; } table.moduletable td { font-size: 10px; font-weight: normal; } Как сделать так, чтобы содержимое модулей сдвигалось на 8 пикселов от края, а заголовки с бэкграундом остались на месте?
Ответ: Изменение положения содержимого модуля Tigress, table.moduletable th - ну это определяет вид заголовков table.moduletable td - а это остального содержимого Stani, надо использовать не padding, а text-align: center;
Ответ: Изменение положения содержимого модуля ListOn, спасибо, что откликнулись. Однако эти средства уже были использованы. Дело в том, что если текст в "Популярном" (или картинки в скроловском модуле) пытаться выравнивать, то с ними происходят заданные изменения лишь в той части, где они находятся (они как были прижаты к одному краю, так и остались) - эти изменения не распространяются на всю площаь. А вот, где задано это их положение (прижатость), я не знаю. В css похоже нет и в index.php тоже не нашел.
Ответ: Изменение положения содержимого модуля А скриншот можешь выложить? А то я не совсем понимаю, как это выглядит...
Ответ: Изменение положения содержимого модуля Фотка экрана во вложенном файле. В левом модуле (популярное) текст прижат к правому краю, а в правом (скрол) прижат к левому краю. Например, начинаешь сдвигать фотки вправо - они начинают обрезаться (уменьшаться по ширине) с правого края.
Ответ: Изменение положения содержимого модуля кусок кода со сгенерированной страницы выложи, где эти модули выводятся, надо смотреть, чего как там, как модуль выводится. По идее, text-align должно хватить, как заметил ListOn
Ответ: Изменение положения содержимого модуля Есть такое соображение: Возможно, не настроена ширина модулей, поэтому и обрезается содержимое, проверь установленную ширину для table.moduletable u table.moduletable td, поиграйся с их настройками и выставленным text-align: center;
Ответ: Изменение положения содержимого модуля ListOn и Cardinal, спасибо за участие. В нижних окошках коды для "популяроне" и для "скрола" - что было на сгенерированной странице. Интересно, что в mostread (популярном) задан класс .mostread Но в центральной таблице стилей шаблона такого стиля НЕТ а в паке модулей - только mostread.php никакой таблицы стилей для него больше нет. Если создать в центральной таблице стилей такой стиль и задать text-align: center; то он выравнивается по центру но отступ слева остается. А где может еще задаваться этот класс mostread? Что касается этого скрола, то я - пас, так как я все-таки дилетант, знающий некоторые тэги и все. Значения многих я не понимаю и надо честно признаться вряд ли когда-нибудь пойму Где задатся его прижатость к левому краю - ХЗ? В самомо начале правда задан класс modultable - но в таблие стилей этого класса нет. Есть другой - похожий - table.moduletable, но он не устанавливает прижатость к левому краю. Вот он: Код (html): table.moduletable { margin: 4px 4px 10px 4px; width: 100%; color: Black; border-top:0px solid #000000; border-left: 0px solid #000000; border-right: 0px solid #000000; border-bottom: 0px solid #000000; } Это "Популярное": Код (html): <table cellpadding="0" cellspacing="0" class="moduletable"> <tr> <th valign="top"> Популярное </th> </tr> <tr> <td> <ul class="mostread"> <li class="mostread"> <a href="http://www.krasotainfo.ru/index.php?option=com_content&task=view&id=1&Itemid=1" class="mostread"> Здравствуйте</a> </li> <li class="mostread"> <a href="http://www.krasotainfo.ru/index.php?option=com_content&task=view&id=22&Itemid=56" class="mostread"> Два шага к безупречной коже</a> </li> <li class="mostread"> <a href="http://www.krasotainfo.ru/index.php?option=com_content&task=view&id=28&Itemid=56" class="mostread"> Как правильно наносить тушь?</a> </li> <li class="mostread"> <a href="http://www.krasotainfo.ru/index.php?option=com_content&task=view&id=24&Itemid=56" class="mostread"> Как правильно выбрать новый запах?</a> </li> <li class="mostread"> <a href="http://www.krasotainfo.ru/index.php?option=com_content&task=view&id=27&Itemid=56" class="mostread"> Три ноты парфюма.</a> </li> </ul> </td> </tr> </table> Это "Скрол": Код (PHP): <table cellpadding="0" cellspacing="0" class="moduletable"> <tr> <th valign="top"> Новинки Мэри Кэй </th> </tr> <tr> <td> <script type="text/javascript" language="javascript"> <!-- /* dw_scroller.js Pausing Vertical Scroller v 2.0 version date April 2003 requires dw_core.js This code is from Dynamic Web Coding at http://www.dyn-web.com/ Copyright 2001-3 by Sharon Paine See Terms of Use at http://www.dyn-web.com/bus/terms.html Permission granted to use this code as long as this entire notice is included. */ scrollerObj.ar = new Array(); // left, top, width, height, alignment of content, id of container (if rel-pos) function scrollerObj(x,y,w,h,al,hld) { this.x=x||0; this.y=y||0; this.w=w; this.h=h; this.al = al || "left"; this.hld = hld; this.ctr=1; this.items=new Array(); this.timerId=0; // defaults this.pause = 4000; // how long to pause on messages this.spd = 55; // frequency of calls to scroll this.inc = 3; // how much to scroll per call this.fontFam = "verdana, helvetica, arial, sans-serif"; this.fontSz = "12px"; this.fontClr = "#000000"; } function addScrollerItem(txt,url) { this.items[this.items.length] = new Array(txt,url); } function setScrollerFont(fam,sz,clr) { this.fontFam=fam; this.fontSz=sz; this.fontClr=clr; } function setScrollerTiming(pause,spd,inc) { this.pause=pause; this.spd=spd; this.inc=inc; } function createScroller() { if (this.created) return; // rewrite 1st item to last this.items[this.items.length] = this.items[0]; scrollerObj.ar[scrollerObj.ar.length] = this; // add it to global list of scrollers this.obj = "scrollerObj"+scrollerObj.ar.length; eval(this.obj + "=this"); // separate functions for assembling content if (document.layers) this.buildN4(); else this.build(); this.created = true; } function buildScroller() { var elem, str; // scrWndo if (document.getElementById && document.createElement) { elem = document.createElement("div"); // if rel-pos if (typeof this.hld != "undefined") { this.holder = document.getElementById(this.hld); this.scrWndo = this.holder.appendChild(elem); } else { this.scrWndo = document.body.appendChild(elem); } this.scrWndo.id = "scrWndo"+scrollerObj.ar.length; this.scrWndo.style.position = "absolute"; this.scrWndo.style.visibility = "hidden"; } else if (document.all) { str = '<div id="scrWndo'+scrollerObj.ar.length+'" style="position:absolute; visibility:hidden; "></div>'; // if rel-pos if (typeof this.hld != "undefined") { this.holder = document.all[this.hld]; if (typeof this.holder.innerHTML != "undefined") this.holder.innerHTML = str; } else { document.body.insertAdjacentHTML("beforeEnd",str); } } this.scrWndo = new dynObj("scrWndo"+scrollerObj.ar.length,this.x,this.y,this.w,this.h); with (this.scrWndo.css) { clip = "rect(0px, "+this.w+"px, "+this.h+"px, 0px)"; overflow = "hidden"; zIndex=1000; } // set up scrolling content layer (scrCont) if (document.getElementById && document.createElement) { elem = document.createElement("div"); this.scrCont = this.scrWndo.el.appendChild(elem); this.scrCont.id = "scrCont" + scrollerObj.ar.length; this.scrCont.style.position = "absolute"; } else if (document.all) { var str = '<div id="scrCont'+scrollerObj.ar.length+'" style="position:absolute"></div>'; this.scrWndo.writeLyr(str); } this.scrCont = new dynObj("scrCont"+scrollerObj.ar.length); this.scrCont.css.visibility = "inherit"; this.scrCont.css.zIndex=1; this.scrCont.shiftTo(0,0); this.wrapItems(); this.scrWndo.show(); this.timerId = setTimeout(this.obj + ".controlScroll()",this.pause); } // assemble and write scroller content html function wrapItems() { var itemStart, itemEnd, str = ""; // to format items centered vertically and horizontally if (this.al == "center") { itemStart = '<table width="' + this.w + '" cellpadding="0" cellspacing="0" border="0"><tr><td style="text-align:center; height:' + this.h + 'px" valign="middle">'; itemEnd = '</td></tr></table>'; // to format left aligned content } else if (this.al == "left") { itemStart = '<div style="height:' + this.h + 'px">'; itemEnd = '</div>'; } for (var i=0; i<this.items.length; i++) { if (typeof this.items[i][1] != "undefined") { // if item has url str += itemStart + '<a style="text-decoration:none; font-family:'+this.fontFam+'; font-size:'+this.fontSz+'; color:'+this.fontClr+'" href="'+ this.items[i][1] + '">' + this.items[i][0] + '</a>' + itemEnd; } else { // no url, wrap in span with styles attached str += itemStart + '<div style="font-family:'+this.fontFam+'; font-size:'+this.fontSz+'; color:'+this.fontClr+'">' + this.items[i][0] + '</div>' + itemEnd; } } this.scrCont.writeLyr(str); } function buildScrollerNS4() { // create wndo layer if (typeof this.hld != "undefined") { this.holder = getLyrRef(this.hld,document); this.scrWndo = new Layer(this.w,this.holder); } else this.scrWndo = new Layer(this.w); this.scrWndo.resizeTo(this.w,this.h); this.scrWndo.moveTo(this.x,this.y); // create the scrolling content layer var str = '<div id="scrCont'+scrollerObj.ar.length+'" style="position:absolute"></div>'; this.scrWndo.document.write(str); this.scrWndo.document.close(); this.scrCont = new dynObj("scrCont"+scrollerObj.ar.length); this.scrCont.css.visibility = "inherit"; this.scrCont.css.zIndex=1; this.scrCont.shiftTo(0,0); this.wrapNS4Items(); this.scrWndo.visibility = "show"; this.timerId = setTimeout(this.obj + ".controlScroll()",this.pause); } function wrapNS4Items() { var itemStart, itemEnd, str = ""; if (this.al=="center") this.v = "middle"; else this.v = "top"; itemStart = '<table width="' + this.w + '" cellpadding="0" cellspacing="0" border="0"><tr><td align="'+this.al+'" height="' + this.h + '" valign="'+this.v+'">'; itemEnd = '</td></tr></table>'; for (var i=0; i<this.items.length; i++) { if (typeof this.items[i][1] != "undefined") { // if item has url str += itemStart + '<a style="text-decoration:none; font-family:'+this.fontFam+'; font-size:'+this.fontSz+'; color:'+this.fontClr+'" href="'+ this.items[i][1] + '">' + this.items[i][0] + '</a>' + itemEnd; } else { // no url, wrap in span with styles attached str += itemStart + '<div style="font-family:'+this.fontFam+'; font-size:'+this.fontSz+'; color:'+this.fontClr+'">' + this.items[i][0] + '</div>' + itemEnd; } } this.scrCont.writeLyr(str); } function controlScroll() { if (this.ctr>this.items.length-1) this.startOver(); else { var y = parseInt(this.scrCont.css.top); if (y> -this.h * this.ctr) { this.scrCont.shiftBy(0,-this.inc); this.timerId = setTimeout(this.obj+".controlScroll()",this.spd); } else { this.ctr++; this.timerId = setTimeout(this.obj+".controlScroll()",this.pause); } } } // restore scroller top to 0 and counter variable to 1 function startOver() { this.ctr = 1; this.scrCont.shiftTo(0,0); this.controlScroll(); } scrollerObj.prototype.addItem = addScrollerItem; scrollerObj.prototype.create = createScroller; scrollerObj.prototype.setFont = setScrollerFont; scrollerObj.prototype.setTiming = setScrollerTiming; scrollerObj.prototype.buildN4 = buildScrollerNS4; scrollerObj.prototype.build = buildScroller; scrollerObj.prototype.wrapItems = wrapItems; scrollerObj.prototype.wrapNS4Items = wrapNS4Items; scrollerObj.prototype.controlScroll = controlScroll; scrollerObj.prototype.startOver = startOver; // remove layers from table for ns6+/mozilla (overflow/clip bug?) function positionGecko() { if (navigator.userAgent.indexOf("Gecko")>-1) { for (var i=0; i<scrollerObj.ar.length; i++) { if (scrollerObj.ar[i].holder) { scrollerObj.ar[i].holder.removeChild(scrollerObj.ar[i].scrWndo.el); document.body.appendChild(scrollerObj.ar[i].scrWndo.el); scrollerObj.ar[i].scrWndo.css.zIndex = 1000; var x = scrollerObj.ar[i].holder.offsetLeft + scrollerObj.ar[i].x; var y = scrollerObj.ar[i].holder.offsetTop + scrollerObj.ar[i].y; scrollerObj.ar[i].scrWndo.shiftTo(x,y); } } } } // ns6+/mozilla need to reposition layers onresize function rePosGecko() { for (var i=0; i<scrollerObj.ar.length; i++) { var x = scrollerObj.ar[i].holder.offsetLeft + scrollerObj.ar[i].x; var y = scrollerObj.ar[i].holder.offsetTop + scrollerObj.ar[i].y; scrollerObj.ar[i].scrWndo.shiftTo(x,y); } } function setMouseEvents() { for (var i=0; i<scrollerObj.ar.length; i++) { scrollerObj.ar[i].scrCont.el.onmouseover = new Function("haltScroll("+i+")") scrollerObj.ar[i].scrCont.el.onmouseout = restartScroll; } } function haltScroll(num) { clearTimeout(scrollerObj.ar[num].timerId); } function restartScroll(e) { // get numeric portion of id (after scrCont) var num = parseInt(this.id.slice(7)) - 1; e = e? e: window.event? window.event: ""; if (e) { var current = this; var related = e.relatedTarget? e.relatedTarget: e.toElement? e.toElement: ""; if (related) { if (current != related && !contains(current, related)) scrollerObj.ar[num].controlScroll(); } else scrollerObj.ar[num].controlScroll(); // ns4 } } // adapted from http://www.brainjar.com/dhtml/events/default6.asp function contains(a, b) { // extra checks in case alt-tab away while over menu if (b && b.parentNode) { // Return true if node a contains node b. while (b.parentNode) if ((b = b.parentNode) == a) return true; return false; } else if (b && b.parentElement) { while (b.parentElement) if ((b = b.parentElement) == a) return true; return false; } } /* dw_core.js version date: April 2003 This code is from Dynamic Web Coding at http://www.dyn-web.com/ Copyright 2001-3 by Sharon Paine See Terms of Use at http://www.dyn-web.com/bus/terms.html Permission granted to use this code as long as this entire notice is included. */ ///////////////////////////////////////////////////////////////////// // dynObj constructor // arguments: id (required): id of positioned div. // left,top,width,height optional arguments. ///////////////////////////////////////////////////////////////////// function dynObj(id,x,y,w,h) { this.el = (document.getElementById)? document.getElementById(id): (document.all)? document.all[id]: (document.layers)? getLyrRef(id,document): null; if (!this.el) return null; this.doc = (document.layers)? this.el.document: this.el; this.css = (this.el.style)? this.el.style: this.el; var px = (document.layers||window.opera)? "": "px"; this.x = x || 0; if (x) this.css.left = this.x+px; this.y = y || 0; if (y) this.css.top = this.y+px; this.width = w? w: (this.el.offsetWidth)? this.el.offsetWidth: (this.css.clip.width)? this.css.clip.width: 0; this.height = h? h: (this.el.offsetHeight)? this.el.offsetHeight: (this.css.clip.height)? this.css.clip.height: 0; // if w/h passed, set style width/height if (w){ (document.layers)? this.css.clip.width=w+px: this.css.width=w+px;} if (h){ (document.layers)? this.css.clip.height=h+px: this.css.height=h+px;} this.obj = id + "_dynObj"; eval(this.obj + "=this"); } dynObj.prototype.show = function () { this.css.visibility = "visible"; } dynObj.prototype.hide = function () { this.css.visibility = "hidden"; } dynObj.prototype.shiftTo = function (x,y) { if (x!=null) this.x=x; if (y!=null) this.y=y; // rounded below (this.x/y can hold decimals) if (this.css.moveTo) { this.css.moveTo(Math.round(this.x),Math.round(this.y)); } else { this.css.left=Math.round(this.x)+"px"; this.css.top=Math.round(this.y)+"px"; } } dynObj.prototype.shiftBy = function (x,y) { this.shiftTo(this.x+x,this.y+y); } dynObj.prototype.writeLyr = function (cntnt) { if (typeof this.doc.innerHTML!="undefined") { this.doc.innerHTML = cntnt; } else if (document.layers) { this.doc.write(cntnt); this.doc.close(); } } dynObj.prototype.setBgClr = function (bg) { if (document.layers) this.doc.bgColor=bg; else this.css.backgroundColor=bg; } // get reference to nested layer for ns4 // from dhtmllib.js by Mike Hall of www.brainjar.com function getLyrRef(lyr,doc) { if (document.layers) { var theLyr; for (var i=0; i<doc.layers.length; i++) { theLyr = doc.layers[i]; if (theLyr.name == lyr) return theLyr; else if (theLyr.document.layers.length > 0) if ((theLyr = getLyrRef(lyr,theLyr.document)) != null) return theLyr; } return null; } } //--> </script> <script type="text/javascript"> <!-- /* This code is from Dynamic Web Coding at http://www.dyn-web.com/ Copyright 2001-3 by Sharon Paine See Terms of Use at http://www.dyn-web.com/bus/terms.html Permission granted to use this code as long as this entire notice is included. */ function initScrollerObjs() { /* PERSONALIZE YOU MODULE */ /* Change 125(width) and 150(height) to your needs */ scroller1 = new scrollerObj(0,0,125,150,"center","holder");scroller1.addItem('<div align="center"><a href="http://www.krasotainfo.ru/index.php?option=com_datsogallery&Itemid=3&func=detail&id=9"><img src=http://www.krasotainfo.ru/components/com_datsogallery/img_thumbnails/BAA80674B9FA-2.jpg style="border:1px;border-style:solid;border-color:#FFFFFF;padding:1px;background-color:#FFFFFF"><br />Набор теней</a></div>');scroller1.addItem('<div align="center"><a href="http://www.krasotainfo.ru/index.php?option=com_datsogallery&Itemid=3&func=detail&id=6"><img src=http://www.krasotainfo.ru/components/com_datsogallery/img_thumbnails/51A6295098CB-2.jpg style="border:1px;border-style:solid;border-color:#FFFFFF;padding:1px;background-color:#FFFFFF"><br />Бэлла Белара</a></div>');scroller1.addItem('<div align="center"><a href="http://www.krasotainfo.ru/index.php?option=com_datsogallery&Itemid=3&func=detail&id=7"><img src=http://www.krasotainfo.ru/components/com_datsogallery/img_thumbnails/2916923C3C86-2.jpg style="border:1px;border-style:solid;border-color:#FFFFFF;padding:1px;background-color:#FFFFFF"><br />Новые ароматы</a></div>');scroller1.addItem('<div align="center"><a href="http://www.krasotainfo.ru/index.php?option=com_datsogallery&Itemid=3&func=detail&id=8"><img src=http://www.krasotainfo.ru/components/com_datsogallery/img_thumbnails/476DBF97C8DF-2.jpg style="border:1px;border-style:solid;border-color:#FFFFFF;padding:1px;background-color:#FFFFFF"><br />Помада-дуэт</a></div>');scroller1.addItem('<div align="center"><a href="http://www.krasotainfo.ru/index.php?option=com_datsogallery&Itemid=3&func=detail&id=10"><img src=http://www.krasotainfo.ru/components/com_datsogallery/img_thumbnails/D0D58D57BA1D-2.jpg style="border:1px;border-style:solid;border-color:#FFFFFF;padding:1px;background-color:#FFFFFF"><br />Губная помада</a></div>'); scroller1.create(); setMouseEvents(); // set up pause/restart onmouseover/out } window.onload = initScrollerObjs; //--> </script> <!-- PERSONALIZE YOU MODULE */ --> <!-- CHANGE height: 150px to your needs --> <div style="height: 150px; width: 100%;"> <div id="holder"></div> </div> </td> </tr> </table>
Ответ: Изменение положения содержимого модуля <li class="mostread"> - вот эта штука может быть настроена на отступ
Ответ: Изменение положения содержимого модуля Вот только где находится эта настройка, ведь в общей таблице стлей такого класса НЕТ.
Ответ: Изменение положения содержимого модуля Нет в общей таблице стилей, назначте сами - наследования от общих селекторов для элементов списка никто не отменял, а если не заданы и их свойства, браузеры в праве трактовать их каждый по-своему.