Jump to content


skamudongo

Member Since 30/03/2004
Offline Last Active 05/10/2007, 09:42
-----

Topics I've Started

Problemas Com Impressão

04/11/2005, 10:36

Estou com problemas na hora da impressão de alguma página do site. Quando dá a hora de imprimir o menu de navegação, ele imprime como uma lista.

O que posso fazer pra consertar?

Código em css, contido no index:
<style type="text/css" media="screen">
#menu {
width: 760;
background: #fff;
}

#menu ul {
list-style: none;
margin: 0;
padding: 2;
width: 95px;
float: left;
}

#menu a, #menu h2 {
font: bold 11px/16px tahoma, helvetica, sans-serif;
display: block;
border-width: 1px;
border-style: solid;
border-color: #ccc #888 #555 #bbb;
margin: 0;
padding: 2px 3px;
}

#menu h2 {
color: #fff;
background: #006507;
text-transform: uppercase;
}

#menu a {
color: #000;
background: #efefef;
text-decoration: none;
}

#menu a:hover {
color: #fff;
background: #002;
}

#menu li {position: relative;}

#menu ul ul {
position: absolute;
z-index: 500;
}

#menu ul ul ul {
position: absolute;
top: 0;
left: 100%;
}

div#menu ul ul,
div#menu ul li:hover ul ul,
div#menu ul ul li:hover ul ul
{display: none;}

div#menu ul li:hover ul,
div#menu ul ul li:hover ul,
div#menu ul ul ul li:hover ul
{display: block;}

</style>
<style type="text/css" media="screen">
body {
behavior: url(csshover.htc);
font-size: 100%;
}

#menu ul li {float: left; width: 100%;}
#menu ul li a {height: 1%;}

#menu a, #menu h2 {
font: bold 0.7em/1.4em arial, helvetica, sans-serif;
}
</style>


<div id="menu">
<ul>
  <li><h2>Admin</h2>
    <ul>
      <li><a href="?pag=obras.php" title="Alterações obras.">Obras</a></li>
      <li><a href="#" title="Cadastro de chamados nos contratos.">Chamados  +</a>
        <ul>
          <li><a href="?pag=cham.php" title="Cadastro de chamados EN PV.">EN PV</a></li>
        </ul>
      <li><a href="?pag=cliente.php" title="Cadastro e Alteração de Clientes.">Clientes</a>
      <li><a href="?pag=fornecedor.php" title="Cadastro e Alteração de Fornecedores.">Fornecedores</a>
      <li><a href="?pag=admin.php" title="Controle de acesso dos usuários.">Admin</a>
      <li><a href="?pag=senha.php" title="Troca Senha.">Troca Senha</a>
      <li><a href="logout.php" title="Logout.">Logout</a>
      </li>
    </ul>
</ul>
</div>

csshover.htc
<attach event="ondocumentready" handler="parseStylesheets" />
<script language="JScript">
var currentSheet, doc = window.document, activators = {
	onhover:{on:'onmouseover', off:'onmouseout'},
	onactive:{on:'onmousedown', off:'onmouseup'}
}

function parseStylesheets() {
	var sheets = doc.styleSheets, l = sheets.length;
	for(var i=0; i<l; i++) 
  parseStylesheet(sheets[i]);
}
	function parseStylesheet(sheet) {
  if(sheet.imports) {
 	 try {
    var imports = sheet.imports, l = imports.length;
    for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]);
 	 } catch(securityException){}
  }

  try {
 	 var rules = (currentSheet = sheet).rules, l = rules.length;
 	 for(var j=0; j<l; j++) parseCSSRule(rules[j]);
  } catch(securityException){}
	}

	function parseCSSRule(rule) {
  var select = rule.selectorText, style = rule.style.cssText;
  if(!(/(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i).test(select) || !style) return;
  
  var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1');
  var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo);
  var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1];
  var affected = select.replace(/:hover.*$/, '');
  var elements = getElementsBySelect(affected);

  currentSheet.addRule(newSelect, style);
  for(var i=0; i<elements.length; i++)
 	 new HoverElement(elements[i], className, activators[pseudo]);
	}

function HoverElement(node, className, events) {
	if(!node.hovers) node.hovers = {};
	if(node.hovers[className]) return;
	node.hovers[className] = true;
	node.attachEvent(events.on,
  function() { node.className += ' ' + className; });
	node.attachEvent(events.off,
  function() { node.className = 
 	 node.className.replace(new RegExp('\\s+'+className, 'g'),''); });
}

function getElementsBySelect(rule) {
	var parts, nodes = [doc];
	parts = rule.split(' ');
	for(var i=0; i<parts.length; i++) {
  nodes = getSelectedNodes(parts[i], nodes);
	}	return nodes;
}
	function getSelectedNodes(select, elements) {
  var result, node, nodes = [];
  var classname = (/\.([a-z0-9_-]+)/i).exec(select);
  var identify = (/\#([a-z0-9_-]+)/i).exec(select);
  var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, '');
  for(var i=0; i<elements.length; i++) {
 	 result = tagName? elements[i].all.tags(tagName):elements[i].all; 
 	 for(var j=0; j<result.length; j++) {
    node = result[j];
    if((identify && node.id != identify[1]) || (classname && !(new RegExp('\\b' +
   	 classname[1] + '\\b').exec(node.className)))) continue;
    nodes[nodes.length] = node;
 	 }
  }	return nodes;
	}
</script>

Imagem de como está saindo a impressão:
Posted Image

IPB Skin By Virteq