Ocena wątku:
- 0 głosów - średnia: 0
- 1
- 2
- 3
- 4
- 5
Menu i parametry - PILNE
|
Liczba postów: 6
Liczba wątków: 2
Dołączył: 07-12-2012
Reputacja:
0
07-12-2012, 02:03
(Ten post był ostatnio modyfikowany: 07-12-2012, 02:43 przez catalunya.)
Witam! Sprawa jest pilna.
Jestem baardzo początkująca jeśli chodzi o tworzenie stron w innych językach niż html i właśnie mam pierwszy problem, z którym nie mogę sobie poradzić za pomocą prób i błędów czy też googli.
Muszę zaprojektować stronę w PHP + CSS, mam problem z menu. Tak to wygląda:
http://img824.imageshack.us/img824/4937/scrkj.jpg
Chciałabym, aby zakładki były bezpośrednio obok siebie, nawet jak zmieniam parametry, wygląda to fatalnie i niezależnie jak kombinuję, nie umiem ustawić tego tak, by było równo jedno obok drugiego.
Tu jest kod:
Kod PHP: /*-- Submenu --*/ #submenu{ float: top; margin: 1px; margin-top: 40px; margin-left: 10px
} #submenu span{ display: inline-table; width: inherit; margin-bottom: 6px; background:url('img/bg_sub.png') no-repeat center;
} #submenu a{ color: #FFF; padding: 10px 72px 3px 80px; font-size: 15px; display: inline-table;
} #submenu a:hover{color:#000;} /*--- header ---*/
Wiem, że to pewnie dla Was drobnostka, bardzo byście mi pomogli, bo męczę się z tym już ładne parę godzin 
Pozdrawiam![/quote]
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
1) po pierwsze menu robisz na liście UL, nie na spanach
2) po drugie:
#submenu {overflow:hidden; list-style:none; margin:0; padding:0;}
#submenu li {float:left;}
#submenu li a {.....}
Ty namieszałeś strasznie. Float nie ma opcji top, tylko left albo right. Display inline-table zamień lepiej na inline-block
Liczba postów: 66
Liczba wątków: 2
Dołączył: 11-11-2012
Reputacja:
0
Rozumiem że submenu to jest kontener dla menu a span to elementy menu (przydał by się fragment kodu html).
Nie ma takiej formy jak float: top. skasuj to a dodaj do span float: left. to powinno pomóc. Wydaje mi się że w span nie ma potrzeby ustawić display: inline-table oraz width: inherit. Ciekawe gdzie to znalazłeś w necie?
W a też raczej możesz usunąć display: inline-table.
http://webmaster.na6.waw.pl
Liczba postów: 6
Liczba wątków: 2
Dołączył: 07-12-2012
Reputacja:
0
Tu jest plik od menu w php.
Kod PHP: <?php defined('_CScript') OR die('No direct access allowed.'); $layer=$subMenu=$menu=''; // TWORZENIE MENU GŁÓWNEGO $db->query('SELECT `'._prefix.'menu`.`id`,`'._prefix.'menu`.`layer`, `'._prefix.'menu`.`pid`,`'._prefix.'page`.`name`, `'._prefix.'page`.`alias`, `'._prefix.'page`.`link` FROM `'._prefix.'menu` INNER JOIN `'._prefix.'page` WHERE `'._prefix.'page`.`id`=`'._prefix.'menu`.`pid` AND `'._prefix.'menu`.`layer`=0 ORDER BY `'._prefix.'menu`.`sn` '); $rs = $db->getRows();
foreach($rs as $row) { if($active==$row['link']) $layer = $row['id']; $menu .= '<div><a title="'.$row['name'].'" href="'.$row['link'].'">'.$row['alias'].'</a></div>'; } if($menu!='') $this->menu = '<div id="nav">'.$menu.'</div>'; else $this->menu = ' ';
if($layer=='') { $db->query('SELECT `'._prefix.'menu`.`layer` FROM `'._prefix.'menu` INNER JOIN `'._prefix.'page` WHERE `'._prefix.'page`.`id`=`'._prefix.'menu`.`pid` AND `'._prefix.'page`.`link`="'.$active.'" LIMIT 1'); $rs = $db->getRow(); if($rs) $layer = $rs['layer']; else $layer = -1; }
$db->query('SELECT `'._prefix.'menu`.`id`,`'._prefix.'menu`.`layer`, `'._prefix.'menu`.`pid`,`'._prefix.'page`.`name`, `'._prefix.'page`.`alias`, `'._prefix.'page`.`link` FROM `'._prefix.'menu` INNER JOIN `'._prefix.'page` WHERE `'._prefix.'page`.`id`=`'._prefix.'menu`.`pid` AND `'._prefix.'menu`.`layer`="'.$layer.'" ORDER BY `'._prefix.'menu`.`sn` '); $rs = $db->getRows(); if($rs) foreach($rs as $row) $subMenu .= '<span><a title="'.$row['name'].'" href="'.$row['link'].'">'.$row['alias'].'</a></span>';
if($subMenu!='') { $this->class = 'page'; $this->subMenu = '<div id="submenu">'.$subMenu.'</div>'; }else{ $this->subMenu = ' '; $this->class = 'pageBig'; } unset($menu,$rs);
?>
Wykorzystałam Wasze sugestie, ale nie pomogło, poucinało zakładki i poprzestawiało je.
Weźcie pod uwagę, że dopiero zaczynam, rzucono mnie z tym trochę na głęboką wodę. Szablon nie jest mój; firma kupiła go kiedyś od kogoś i muszę to teraz pozmieniać, żeby jakoś wyglądało.
Menu było w pierwotnej wersji pionowe, ale chcieli poziome.
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
Jak wykorzystałeś, jak nie wykorzystałeś
Napisałem ci żebyś menu zrobił na UL a nie na spanach i divach.
Liczba postów: 66
Liczba wątków: 2
Dołączył: 11-11-2012
Reputacja:
0
Wieczorem postaram się przerobić ten kod i wstawić tu. Teraz nie mam czasu.
http://webmaster.na6.waw.pl
Liczba postów: 6
Liczba wątków: 2
Dołączył: 07-12-2012
Reputacja:
0
Zrobiłam, tak jak mówiliście, ale zmieniłam tak jak było wcześniej, bo wyglądało tak:
http://img90.imageshack.us/img90/7159/scrlo.jpg
Kody po modyfikacji:
Kod PHP: /*-- Submenu --*/ #submenu{ overflow:hidden; float: left; list-style:none; margin: 0px; padding: 0px;
} #submenu li{ display: inline; margin-bottom: 6px; background:url('img/bg_sub.png') no-repeat center;
} #submenu li a{ color: #FFF; padding: 10px 62px 3px 80px; font-size: 15px;
} #submenu li:hover{color:#000;}
Kod PHP: <?php defined('_CScript') OR die('No direct access allowed.'); $layer=$subMenu=$menu=''; // TWORZENIE MENU GŁÓWNEGO $db->query('SELECT `'._prefix.'menu`.`id`,`'._prefix.'menu`.`layer`, `'._prefix.'menu`.`pid`,`'._prefix.'page`.`name`, `'._prefix.'page`.`alias`, `'._prefix.'page`.`link` FROM `'._prefix.'menu` INNER JOIN `'._prefix.'page` WHERE `'._prefix.'page`.`id`=`'._prefix.'menu`.`pid` AND `'._prefix.'menu`.`layer`=0 ORDER BY `'._prefix.'menu`.`sn` '); $rs = $db->getRows();
foreach($rs as $row) { if($active==$row['link']) $layer = $row['id']; $menu .= '<div><a title="'.$row['name'].'" href="'.$row['link'].'">'.$row['alias'].'</a></div>'; } if($menu!='') $this->menu = '<div id="nav">'.$menu.'</div>'; else $this->menu = ' ';
if($layer=='') { $db->query('SELECT `'._prefix.'menu`.`layer` FROM `'._prefix.'menu` INNER JOIN `'._prefix.'page` WHERE `'._prefix.'page`.`id`=`'._prefix.'menu`.`pid` AND `'._prefix.'page`.`link`="'.$active.'" LIMIT 1'); $rs = $db->getRow(); if($rs) $layer = $rs['layer']; else $layer = -1; }
$db->query('SELECT `'._prefix.'menu`.`id`,`'._prefix.'menu`.`layer`, `'._prefix.'menu`.`pid`,`'._prefix.'page`.`name`, `'._prefix.'page`.`alias`, `'._prefix.'page`.`link` FROM `'._prefix.'menu` INNER JOIN `'._prefix.'page` WHERE `'._prefix.'page`.`id`=`'._prefix.'menu`.`pid` AND `'._prefix.'menu`.`layer`="'.$layer.'" ORDER BY `'._prefix.'menu`.`sn` '); $rs = $db->getRows(); if($rs) foreach($rs as $row) $subMenu .= '<ul><a title="'.$row['name'].'" href="'.$row['link'].'">'.$row['alias'].'</a></ul>';
if($subMenu!='') { $this->class = 'page'; $this->subMenu = '<div id="submenu">'.$subMenu.'</div>'; }else{ $this->subMenu = ' '; $this->class = 'pageBig'; } unset($menu,$rs);
?>
Nie wiem dalej co źle robię, miałam tylko pozmieniać grafikę na stronie, a wychodzi na to, że wszystko jest jeszcze bardziej skomplikowane i trzeba grzebać w tych wszystkich kodach, z którymi nie miałam za wiele styczności wcześniej (jedynie trochę HTMLa).
Pojawił się też inny problem.
Mam skrypt w który wstawia się reklamy pojawiające się w stopce, jednak po dodaniu nie są one widoczne na stronie, mimo że spełniają wszystkie warunki.
Wygląda tak:
Kod PHP: <?php defined('_CScript') OR die('No direct access allowed.'); defined('_acp') OR die('No direct access allowed.');
class advert { public $template = 'advert'; public $allImg = ' '; public $msg = ''; ##KONFIGURACJA private $maxSize = 1468006; //1.4MB private $dir = '../media/advert/'; private $allowed = '{*.jpg,*.gif,*.jpeg,*.png}'; public $size = array('120','60'); //'x','y' public function __construct($action='',$params='',$link='') { if(isset($action)&&$action=='del'&&isset($params[0])&&$params[0]!=''&&!isset($_POST['SaveSlider'])) $this->_unlinkIMG($params); if(isset($_POST['SaveAdvert'])) $this->_addIMG($_FILES); else{ $_POST = array('title'=>'','link'=>'','position'=>''); }
$this->_takeAll(); }
private function _unlinkIMG($p) { if(isset($p[0])) { $db = core::load('db'); $db-> query('SELECT `title`,`img` FROM `'._prefix.'advert` WHERE `id`=:id LIMIT 1',array('id'=>$p[0])); $rs = $db->getRow(); if($rs) { if(file_exists($this->dir.$rs['img'])) unlink($this->dir.$rs['img']); $db->query('DELETE FROM `'._prefix.'advert` WHERE `id`=:id LIMIT 1',array('id'=>$p[0])); $db->query('DELETE FROM `'._prefix.'baners` WHERE `id`=:id',array('id'=>$p[0])); $this->msg='<div class="response-msg success smallmsg"><p>Usunąłeś wybrany element</p></div>'; }else $this->msg='<div class="response-msg error">Nie można było usunąc wybranego elementu.</div>'; } } private function _addIMG(&$file) { $msg=''; $filter = core::load('filter'); $_POST['title']=$filter->strCheck($_POST['title'],'Tytuł, reklamy', 255, true); $_POST['link']=$filter->linkCheck($_POST['link'],'Adres odnośnika', 255, true); if(empty($file['file']['name'])) $msg.='Nie wybrałeś zadnego zdjęcia/obrazka do wgrania!'; if($file['file']['type']!="image/jpeg"&&$file['file']['type']!="image/gif"&&$file['file']['type']!="image/png") $msg.='Nie poprawny format pliku! <br/>Akceptowalne rozszerzenia plików to: <b>*.jpg, *.gif,*.jpeg,*.png</b><br/>'; if($file['file']['size']>$this->maxSize) $msg.='Plik o nazwie <b>'.$file['file']['name'].'</b> jest za duży! maksymalny dopuszczalna waga pliku to '.round($this->maxSize/1048576).'<br/>'; if($msg!="") { $this->msg=' <div class="error response-msg"> <strong>Błąd wysyłania pliku!</strong><br/><br/> '.$msg.' </div>'; }else{ //require_once 'model/gd_lib.php'; $file['file']['name']=rand(1, 999).core::load('filter')->takeLink($file['file']['name'], 'make'); //makeThumbWidth(mineTyp($file['file']['type']), $file['file']['tmp_name'], $file['file']['name'], $this->dir, $this->size[0]); // ZAPISUJE DANE DO BAZY DANYCH move_uploaded_file($file['file']['tmp_name'], $this->dir.$file['file']['name']); $db = core::load('db');
$db->query('INSERT INTO `'._prefix.'advert` SET `img`="'.$file['file']['name'].'", `title`="'.$_POST['title'].'", `link`="'.$_POST['link'].'"'); $this->msg='<div class="response-msg success smallmsg"><p>Dodałeś reklamę o nazwie "<b>'.$file['file']['name'].'</b>"</p></div>'; unset($file['file']); } } private function _takeAll() { $db = core::load('db'); $db->query('SELECT * FROM `'._prefix.'advert` ORDER BY `id`'); $rs = $db->getRows(); $img = ''; foreach($rs as $v) { $img .= '<tr> <td> <b>link: <a href="'.$v['link'].'">'.$v['link'].'</a></b> <a href="advert-del-'.$v['id'].'" title="Usuń obrazek" style="float:right;"><img src="template/img/ico/delete.png" alt="Usuń" /></a><br/> <img src="'.$this->dir.$v['img'].'" alt="" style="width:100%"/> <br/> '.$v['title'].' </td> </tr>'; } if($img!='')$this->allImg = $img; else $this->allImg = ' '; } }
Prosta sprawa: chcę zrobić tak żeby działało.
Bardzo proszę o pomoc, bo grzebię się w tym, a postępów żadnych.
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
Kod: <?php
defined('_CScript') OR die('No direct access allowed.');
$layer=$subMenu=$menu='';
// TWORZENIE MENU GŁÓWNEGO
$db->query('SELECT `'._prefix.'menu`.`id`,`'._prefix.'menu`.`layer`, `'._prefix.'menu`.`pid`,`'._prefix.'page`.`name`, `'._prefix.'page`.`alias`, `'._prefix.'page`.`link` FROM `'._prefix.'menu` INNER JOIN `'._prefix.'page` WHERE `'._prefix.'page`.`id`=`'._prefix.'menu`.`pid` AND `'._prefix.'menu`.`layer`=0 ORDER BY `'._prefix.'menu`.`sn` ');
$rs = $db->getRows();
foreach($rs as $row)
{
if($active==$row['link']) $layer = $row['id'];
$menu .= '<li><a title="'.$row['name'].'" href="'.$row['link'].'">'.$row['alias'].'</a></li>';
}
if($menu!='')
$this->menu = '<ul id="nav">'.$menu.'</ul>';
else
$this->menu = ' ';
if($layer=='')
{
$db->query('SELECT `'._prefix.'menu`.`layer` FROM `'._prefix.'menu` INNER JOIN `'._prefix.'page` WHERE `'._prefix.'page`.`id`=`'._prefix.'menu`.`pid` AND `'._prefix.'page`.`link`="'.$active.'" LIMIT 1');
$rs = $db->getRow();
if($rs)
$layer = $rs['layer'];
else
$layer = -1;
}
$db->query('SELECT `'._prefix.'menu`.`id`,`'._prefix.'menu`.`layer`, `'._prefix.'menu`.`pid`,`'._prefix.'page`.`name`, `'._prefix.'page`.`alias`, `'._prefix.'page`.`link` FROM `'._prefix.'menu` INNER JOIN `'._prefix.'page` WHERE `'._prefix.'page`.`id`=`'._prefix.'menu`.`pid` AND `'._prefix.'menu`.`layer`="'.$layer.'" ORDER BY `'._prefix.'menu`.`sn` ');
$rs = $db->getRows();
if($rs)
foreach($rs as $row)
$subMenu .= '<li><a title="'.$row['name'].'" href="'.$row['link'].'">'.$row['alias'].'</a></li>';
if($subMenu!='')
{
$this->class = 'page';
$this->subMenu = '<ul id="submenu">'.$subMenu.'</ul>';
}else{
$this->subMenu = ' ';
$this->class = 'pageBig';
}
unset($menu,$rs);
?>
Kod: #nav {height:.......px; list-style:none; margin:0; padding:0; width:100%; clear:both;}
#nav li {float:left; width:........px; height:.......px;}
#nav li a {display:block; width:100%; height:100%;}
Stylowania dla submenu nie podaję, bo nie wiem jak miało by wyglądać.
Ogólnie to w tym twoim kodzie jest strasznie nawalone.
Liczba postów: 5
Liczba wątków: 2
Dołączył: 10-12-2012
Reputacja:
0
czy to jest wordpress? ciężko tak ocenić co zrobić gdy widać tylko fragment kodu, jakbyś przesłała szablon to mógłbym zajrzeć albo daj więcej kodu i screenshoty
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
Rozwijane menu w Bok |
Boshi |
7 |
7,801 |
27-09-2014, 00:47
Ostatni post: Kartofelek
|
|
[Problem] Menu [jQuery] [CSS] [HTML] |
EncoreCode |
1 |
2,813 |
28-08-2013, 22:16
Ostatni post: msx83
|
|
Light box menu |
andemel |
6 |
6,216 |
19-07-2013, 12:18
Ostatni post: atp
|
|
Superfish menu - problem z wyśrodkowaniem. |
Gargamel |
3 |
3,623 |
13-02-2013, 19:02
Ostatni post: Kartofelek
|
|
Rollover - obrazkowe menu jako lista - Problem |
ripi |
3 |
3,850 |
28-11-2012, 16:22
Ostatni post: Kartofelek
|
Użytkownicy przeglądający ten wątek: 1 gości
|
|
Sponsorzy i przyjaciele
|
|
|