Problems creating a sticky footer

Hi,
I'm trying to create a website in Dreamweaver using a template that I purchased but I am having problems fixing a footer to the bottom of the page,
At the moment the content footer that I have created (which is a table) changes positon from page to page depending on the content.
The template comes with 2 x CSS style sheets  and 1 x JS coded page which I know I need to amend in order for the footer to remain fixed to the bottom of each page.
The trouble is my CSS and JS are not up to much. I have inserted the code from the HTML, CSS & JS below.
If anyone can help me out it would be fantastic as I'm really at a loss!
The HTML of my main webpage is as follows:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- saved from url=(0023)http://www.contoso.com/ -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="layout.css" rel="stylesheet" type="text/css" />
<script src="maxheight.js" type="text/javascript"></script>
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
<script type="text/javascript">
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
</script>
</head>
<body  id="page1" onload="new ElementMaxHeight(); ;MM_preloadImages('images/facebook2.gif','images/linkedin2.gif','images/twitter2.gif')">
<div id="header">
    <div class="main">
     <div class="flash">
       <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="980" height="137">
         <param name="movie" value="flash/menu_v8.swf" />
         <param name="quality" value="high" />
         <param name="wmode" value="transparent" />
         <param name="swfversion" value="8.0.35.0" />
         <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
         <param name="expressinstall" value="Scripts/expressInstall.swf" />
         <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
         <!--[if !IE]>-->
         <object type="application/x-shockwave-flash" data="flash/menu_v8.swf" width="980" height="137">
           <!--<![endif]-->
           <param name="quality" value="high" />
           <param name="wmode" value="transparent" />
           <param name="swfversion" value="8.0.35.0" />
           <param name="expressinstall" value="Scripts/expressInstall.swf" />
           <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
           <div>
             <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
             <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" id="Image2" /></a></p>
           </div>
           <!--[if !IE]>-->
         </object>
         <!--<![endif]-->
       </object>
     </div>
       <div class="flash1">
         <object id="FlashID2" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="587" height="389">
           <param name="movie" value="flash/header_v8.swf" />
           <param name="quality" value="high" />
           <param name="wmode" value="transparent" />
           <param name="swfversion" value="8.0.35.0" />
           <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
           <param name="expressinstall" value="Scripts/expressInstall.swf" />
           <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
           <!--[if !IE]>-->
           <object type="application/x-shockwave-flash" data="flash/header_v8.swf" width="587" height="389">
             <!--<![endif]-->
             <param name="quality" value="high" />
             <param name="wmode" value="transparent" />
             <param name="swfversion" value="8.0.35.0" />
             <param name="expressinstall" value="Scripts/expressInstall.swf" />
             <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
             <div>
               <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
               <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" id="Image3" /></a></p>
             </div>
             <!--[if !IE]>-->
           </object>
           <!--<![endif]-->
         </object>
       </div>
        <div class="indent1">
         <div class="container1">
           <p>Welcome to ACL International.<br />
                 Through our offices in the UK and Portugal we supply the<br />
                 very latest in energy saving technologies with our main<br />
                 focus being on lighting. ACL have been active in the lighting<br />
              industry for over 10 years and have built up strong relationships with some of the world's leading lighting manufacturers.</p>
           <p> </p>
           <p>Welcome to ACL International.<br />
Through our offices in the UK and Portugal we supply the<br />
very latest in energy saving technologies with our main<br />
focus being on lighting. ACL have been active in the lighting<br />
industry for over 10 years and have built up strong relationships with some of the world's leading lighting manufacturers.</p>
          </div>
      </div>
    </div>
</div>
<div id="content">
    <div class="main">
        <div class="indent-main">
            <div class="container bg">
                <div class="container bg1">
                    <div class="container bg2">
                        <div class="col-1 bg-1">
                         <div class="indent-col">
                             <img alt="" src="images/1page_title1.gif" class="title" /><br />
                                <p>An easy and affordable<br />
                              way to change existing<br />
                              lighting to an energy<br />
                              saving alternative...</p>
                                <div class="container"><a href="#" class="link-1"><em><b>read more</b></em></a></div>
                            </div>
                        </div>
                        <div class="col-1 bg-2">
                         <div class="indent-col">
                             <img alt="" src="images/1page_title2.gif" class="title" /><br />
                                <p>A more natural,<br />
                                environmentally<br />
                                friendly light<br />
                                source...  </p>
                                <div class="container"><a href="#" class="link-1"><em><b>read more</b></em></a></div>
                            </div>
                        </div>
                        <div class="col-1 bg-3">
                         <div class="indent-col">
                             <img alt="" src="images/1page_title3.gif" class="title" /><br />
                                <p>Up to 80% energy <br />
                              saving with an<br />
                              extremely long<br />
                              lifetime... </p>
                                <div class="container"><a href="#" class="link-1"><em><b>read more</b></em></a></div>
                            </div>
                        </div>
                        <div class="col-1 bg-4">
                         <div class="indent-col">
                             <img alt="" src="images/1page_title4.gif" class="title" /><br />
                                <p>Low glare,<br />
                                creating a more<br />
                                comfortable<br />
                                environment... </p>
                                <div class="container"><a href="#" class="link-1"><em><b>read more</b></em></a></div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<div id="footer">
    <div class="main">
        <div class="indent-footer">
          <table width="929" border="0">
            <tr>
              <td width="869">ACLI  &copy; 2012  <a href="index-5.html">Privacy Policy</a></td>
              <td><img src="images/followus.gif" alt="" width="73" height="20" /></td>
              <td width="20"><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('facebook','','images/facebook2.gif',1)"><img src="images/facebook.gif" width="20" height="20" border="0" id="facebook" /></a></td>
              <td width="20"><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('linkedin','','images/linkedin2.gif',1)"><img src="images/linkedin.gif" width="25" height="20" border="0" id="linkedin" /></a></td>
              <td width="20"><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('twitter','','images/twitter2.gif',1)"><img src="images/twitter.gif" width="27" height="20" border="0" id="twitter" /></a></td>
            </tr>
          </table>
        </div>
    </div>
</div>
<script type="text/javascript">
swfobject.registerObject("FlashID");
swfobject.registerObject("FlashID2");
</script>
</body>
</html>
The CSS of the layout is as follows:
.col-1, .col-2, .col-3, .col-4, .col-5{ float:left}
/*======= width =======*/
.main{margin:0 auto; text-align:left; width:929px; }
/*======= header =======*/
#header {height:339px;  background:url(images/bg.jpg) }
#page1 #header {height:526px;}
/*======= index.html =======*/
#page1 #content .col-1{ width:231px; margin-right:1px}
#page1 #content .bg{ background:url(images/tail.gif) repeat-y 231px top }
#page1 #content .bg1{ background:url(images/tail.gif) repeat-y 463px top }
#page1 #content .bg2{ background:url(images/tail.gif) repeat-y 695px top }
/*======= index-1.html =======*/
#page2 #content .col-1{ width:339px; margin-right:0}
#page2 #content .col-2{ width:590px}
#page2 #content .col-3{ width:154px; margin-right:32px}
#page2 #content .col-4{ width:158px; margin-right:30px}
#page2 #content .col-5{ width:155px; margin-right:0}
/*======= index-2.html =======*/
#page3 #content .col-1{ width:590px; margin-right:0}
#page3 #content .col-2{ width:339px}
#page3 #content .col-3{ width:188px; margin-right:0}
#page3 #content .col-4{ width:155px; margin-right:0}
/*======= index-3.html =======*/
#page4 #content .col-1{ width:339px; margin-right:0}
#page4 #content .col-2{ width:590px}
#page4 #content .col-3{ width:95px; margin-right:2px; text-align:right; line-height:1em; padding-top:3px}
#page4 #content .col-4{ width:188px; margin-right:0}
/*======= index-4.html =======*/
#page5 #content .col-1{ width:590px; margin-right:0}
#page5 #content .col-2{ width:339px}
#page5 #content .col-3{ width:95px; margin-right:2px; text-align:right; line-height:1em; padding-top:3px}
#page5 #content .col-4{ width:188px; margin-right:0}
/*======= footer =======*/
#footer { height:110px; }
The CSS of the style is as follows:
/* CSS Document */
* { margin:0; padding:0;}
html, body { height:100%; }
body {font-size:100%; line-height:1.125em;}
html, input, textarea {
font-family: "Century Gothic";
color:#646464;
.alignMiddle{ vertical-align:middle}
.alignCenter{ text-align: center}
.container1{ width:100%}
object { vertical-align:top; outline:none}
.clear { clear:both;}
.fleft{ float:left}
.fright{ float:right}
div.container { overflow:hidden; width: 100%;}
a img{ border:0}
img{ vertical-align:top;  }
a{color:#000000; text-decoration:underline; outline:none}
a:hover{text-decoration:none}
.link{color:#000000; background:url(images/marker.gif) top left no-repeat; padding-left:20px; background-position:0 5px; text-decoration:none; font-size:.916em  }
.link:hover{text-decoration:underline }
.button{color:#fff; font-size:.916em; line-height:20px ; padding:2px 8px 8px 6px; text-decoration:none;  }
.button:hover{color:#000; background:url(images/button.gif) top left no-repeat; padding:2px 8px 8px 6px; text-decoration:none; line-height:20px ;  }
.current{color:#000; background:url(images/button.gif) top left no-repeat; padding:2px 8px 8px 6px; text-decoration:none; line-height:20px ;  }
ul{margin:0; padding:0; list-style:none;}
ul li a{color:#646464; text-decoration: underline; line-height:1.66em}
ul li a:hover { text-decoration:none; }
.ul1 li{background:url(images/marker.gif) top left no-repeat; background-position:0 5px; margin:0; padding-left:10px; }
.ul1 li a{color:#646464; text-decoration:none ; line-height:1.5em}
.ul1 li a:hover { text-decoration:underline; }
.ul li{background:url(images/tail-1.gif) repeat-x bottom; margin:0; padding-left:0; }
.ul li span{color:#646464; float:right; background:url(images/tail-2.gif) repeat-x bottom;}
.ul li a{color:#646464; text-decoration: underline; line-height:1.66em;  background:url(images/tail-2.gif) repeat-x bottom;}
.ul li a:hover { text-decoration:none; }
.link-1 { display:block; float:left; background:url(images/link_bg.gif) left top repeat-x; color:#ffffff; text-decoration:none; }
.link-1 em { display:block; background:url(images/link_left.gif) no-repeat left top;}
.link-1  b { display:block; background:url(images/link_right.gif) no-repeat right top; padding:0 5px 3px 7px; font-weight:normal; font-style:normal;}
.link-1:hover{ text-decoration:none; color:#627311}
.link-2 { display:block; float:left; background:url(images/link_bg.gif) left top repeat-x; color:#ffffff; text-decoration:none; }
.link-2 em { display:block; background:url(images/link_left.gif) no-repeat left top;}
.link-2  b { display:block; background:url(images/link_right.gif) no-repeat right top; padding:0 15px 3px 17px; font-weight:normal; font-style:normal;}
.link-2:hover{ text-decoration:none; color:#627311}
/*header*/
#header {font-size:0.75em; color:#646464 }
#header .logo{ margin:19px 0 9px 0 }
#header .indent{margin:30px 0 0 755px; position:absolute; width:175px; color:#625a49}
#page1 #header .indent1{padding:40px 0 0 565px}
#header .indent1{padding:22px 0 0 0px}
#header .indent2{padding:11px 0 0 397px}
#header .img-left{ float:left; margin:0 31px 0 0}
#header .img-indent{ margin:0 24px 0 0}
#header .img-indent1{ margin:0 23px 0 0;}
#header .title{  margin-bottom:11px}
#header a{ color:#625a49; text-decoration:none}
#header a:hover{text-decoration: underline}
.flash{ margin:0 -27px 0 -25px; position:relative}
.flash1{ margin:0 0 0 -25px; position: absolute}
#page1 .bg-1{
background-image: url(images/1page_img1.jpg);
background-repeat: no-repeat;
background-position: right bottom;
#page1 .bg-2{ background:url(images/1page_img2.jpg) no-repeat bottom right}
#page1 .bg-3{ background:url(images/1page_img3.jpg) no-repeat bottom right}
#page1 .bg-4{ background:url(images/1page_img4.jpg) no-repeat bottom right}
.bg-5{ background:url(images/bg-1.gif) repeat-x top #e5e5e5; width:100%}
.bg-6{ background:url(images/bg-2.gif) repeat-x top #fff; width:100%}
/*content*/
#content{ font-size:0.75em; width:100%; text-align:left; background:url(images/bg_cont.gif) repeat-x top #fff}
#content .indent-main{padding:11px 0 0 0}
#content .indent-main1{padding:3px 0 0 0}
#content .indent-col{padding:14px 0 28px 20px}
#content .indent-col1{padding:32px 14px 24px 15px}
#content .indent-col2{padding:32px 28px 0 28px}
#content .title{  margin-bottom:8px}
#content .img-left{ float:left; margin:0 20px 16px 0}
#content .img-right{ float:right; margin:0 0 0 10px}
#content .img-indent{ margin:0 0 16px 0}
#content p{ margin:0 0 17px 0}
#content .p{ margin:0}
#content .p1{ margin:0 0 17px 0}
#content h4{color:#8b870e; font-size:1em; margin-bottom:13px;  }
#content .tail{ background:url(images/tail2.gif) repeat-x bottom; padding-bottom:26px; margin-bottom:21px}
.txt{ color:#8e9c2e; font-weight:normal}
.txt a{ color:#8e9c2e; }
#content .indent{padding:15px 0 0 0}
/*box*/
.box{ background:#fcfcfc; width:100%;}
.box .indent-box{ padding:11px 18px 11px 20px; }
.box .indent-box1{ padding:11px 10px 11px 10px; }
/*footer*/
#footer { color:#5a5a5a; text-transform:uppercase; font-size:0.6875em ; }
#footer .indent-footer{ padding:37px 0 0 0; background:url(images/bot.gif) repeat-x top;}
#footer a {color:#5a5a5a; text-decoration:underline} 
#footer a:hover {  text-decoration:none}
.jamp{ width:69px;}
.jamp1{ width:64px;}
.jamp2{ width:58px;}
.jamp3{ width:52px;}
select{font-size:12px; color:#646464; height:19px; font-family: Arial, Helvetica, sans-serif;}
.indent-2{ position:relative; padding-right:20px; float:left}
.h{ height:29px}
.block-contact span{ float:right; margin-right:50px}
input{
width:183px; height:17px;
font-size:1em;
color:#646464;
padding-left:5px;
textarea{
width:183px; height:57px;
font-size:1em;
color:#646464;
padding-left:5px;
margin-bottom:11px;
overflow:auto}
.textarea{
width:183px; height:142px;
font-size:1em;
color:#646464;
padding-left:5px;
margin-bottom:11px;
overflow:auto}
The JS page is as follows:
var ElementMaxHeight = function() {
  this.initialize.apply(this, arguments);
ElementMaxHeight.prototype = {
  initialize: function(className) {
    this.elements = document.getElementsByClassName(className || 'maxheight');   
    this.textElement = document.createElement('span');
    this.textElement.appendChild(document.createTextNode('A'));
    this.textElement.style.display = 'block';
    this.textElement.style.position = 'absolute';
    this.textElement.style.fontSize = '1em';
    this.textElement.style.top = '-1000px';
    this.textElement.style.left = '-1000px';
    document.body.appendChild(this.textElement);
    this.textElementHeight = document.getDimensions(this.textElement).height;
    var __object = this;
    var __checkFontSize = this.checkFontSize;
    this.checkFontSizeInterval = window.setInterval(function() {return __checkFontSize.apply(__object)}, 500);
    this.expand();
    // Refresh elements height onResize event
    var __expand = this.expand;
    if (window.addEventListener) {
      window.addEventListener('resize', function(event) {return __expand.apply(__object, [( event || window.event)])}, false);
    } else if (window.attachEvent) {
      window.attachEvent('onresize', function(event) {return __expand.apply(__object, [( event || window.event)])});
  expand: function() {
    this.reset();
   for (var i = 0; i < this.elements.length; i++) {  
      this.elements[i].style.height = document.getDimensions(this.elements[i].parentNode).height + 'px';
  reset: function() {
    for (var i = 0; i < this.elements.length; i++) {   
      this.elements[i].style.height = 'auto';
  checkFontSize: function() {
   var height = document.getDimensions(this.textElement).height;
   if(this.textElementHeight != height) {
    this.textElementHeight = height;
    this.expand();
if (!!document.evaluate) {
  document._getElementsByXPath = function(expression, parentElement) {
    var results = [];
    var query = document.evaluate(expression, parentElement || document,
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    for (var i = 0, length = query.snapshotLength; i < length; i++)
      results.push(query.snapshotItem(i));
    return results;
document.getElementsByClassName = function(className, parentElement) {
  if (!!document.evaluate) {
    var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
    return document._getElementsByXPath(q, parentElement);
  } else {
    var children = (parentElement || document.body).getElementsByTagName('*');
    var elements = [], child;
    for (var i = 0, length = children.length; i < length; i++) {
      child = children[i];
      if (child.className.length != 0 &&
          (child.className == className ||
           child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))) {     
        elements.push(child);
    return elements;
document.getDimensions = function (element) {
  var display = element.style.display;
  if (display != 'none' && display != null) { // Safari bug
    return {width: element.offsetWidth, height: element.offsetHeight};
  return {width: originalWidth, height: originalHeight};

A sticky footer is position:fixed and therefor always visible in the bottom of browser viewports -- even when users scroll up or down the page.
Sticky Footer Demo:
http://alt-web.com/DEMOS/CSS2-Sticky-Footer.shtml
I believe what you're trying to achieve is 100% height on long & short pages.  Try this:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>100% height page layout</title>
<style type="text/css">
/**==========================
100% height layout
===========================*/
html,body {
margin:0;
padding:0;
height:100%; /* needed for container min-height */
background:gray;
font-family:arial,sans-serif;
font-size:small;
color:#666;
zoom: 1;
#container {
position:relative; /* needed for footer positioning*/
margin:0 auto; /* center, not in IE5 */
width:1000px;
background:#FF9999;
height:auto !important; /* real browsers */
height:100%; /* IE6: treated as min-height*/
min-height:100%; /* real browsers */
#header {
padding:1em;
background:#ddd;
min-height: 95px;
border-bottom:6px double gray;
#content {
padding:1em 1em 5em; /* bottom padding for footer */
#footer {
position:absolute;
width:100%;
bottom:0; /* stick to bottom */
background:#ddd;
min-height: 95px;
border-top:6px double gray;
#footer p {padding:1em}
</style>
</head>
<body>
<div id="container">
<div id="header">
<p>here is the header</p>
</div>
<div id="content">
<p>Here is the content</p>
</div>
<div id="footer">
<p>Here is the footer</p>
</div>
<!--end container --></div>
</body>
</html>
Nancy O.
Alt-Web Design & Publishing
Web | Graphics | Print | Media  Specialists 
http://alt-web.com/
http://twitter.com/altweb

Similar Messages

  • Apparent gap below CSS sticky footer in IE?

    I've been testing CSS "sticky footer" solutions I found on the Web. The one I picked works in the four browsers I checked with (Firefox, Chrome, Opera and IE) but there's one possible glitch. In IE 8. I'm seeing what appears to be a small gap between the footer and the bottom of the browser window. My Color Cop utility says neither of the two colors in that gap match anything specified in the CSS. I've included a screen capture, and a link if you have IE installed. I'd like to know if this is a problem with IE (who woulda thunk?) or something inherent in the look of IE's browser window?
    http://dreamweaverresources.com/tutorials/sticky-footer/

    I assume "browser chrome" means the imagery used to create the "pieces" of the browser's appearance outside the browser window contents.
    Yes.
    http://www.expression-web-tips.com/what-is-browser-chrome/
    But, if by scrollbar you mean the sliding blue rectangle on white background with a directional arrow on either end, I don't see that anywhere -- side or bottom -- when I view that link in IE 8?
    You'll see it if you shrink the height of your browser below a certain dimension.
    I saw it on my widescreen monitor.

  • PhatFusion Multibox vs. Sticky Footer

    I'm slowly losing my mind on this one.
    I picked up a site that needed to be properly rebuilt.  The site is using a stickfooter of a grass.png file.  I was able to get the sticky footer to work.  After I got it to work I created my dreamweaver template (dwt) and started building the rest of the site.
    Where it went wrong is on the pages that contain the lightbox tool known as phatfusion multibox.  The sticky footer doesn't work on any page that contains this div.  On each page that has the phatfusion div the footer no longer is "sticky" and remains right along side the bottom of the container div.  I wasn't able to find anywhere in the multibox CSS file where it shows any extra margins, padding, or sizing that would throw this off.  Can anyone help me figure out this problem?
    www.billcoledesign.com/outsideoc  (use this as an example of the working sticky footer)
    www.billcoledesign.com/outsideoc/nsi.php and click on the "operations" tab.  All tabs after "operations" have this problem.
    Thanks in advance for your help!

    Thanks for the response.
    The footer.css file comes straight from the sticky footer tutorial at http://www.cssstickyfooter.com/
    The footer works properly on the entire site except for the page that is using the PhatFusion Multibox.  I actually think the problem is within the PhatFusion Multibox CSS or JS files.  I just can't find where it is.

  • Sticky footer in Fluid Grid layouts (was: sticky footer)

    Is there a simple solution to putting a sticky footer on the bottom of a page (not fixed on the bottom of the screen) that actually works with fluid grid layouts? I've looked at several options but nothing seems to work in all browsers commonly in use; both mobile and desktop.

    Short answer:  No.
    Browser hacks usually cause other unwanted problems so not a good option.   Fixed positioning works in most browsers but will fail in some older mobile devices (Android 2.1, pre-iOS5, Opera Mini, Windows Phone 7).  See below for a full list of supporting mobile devices.
    Fixed Positioning in Mobile Browsers | Brad Frost Web
    Nancy O.

  • I'm a new Mac user....how can i create a "sticky" with automatically reoccurring bullet points?

    I'm a new Mac user....how can i create a "sticky" with automatically reoccurring bullet points?

    On my previous Mac (long, sad story) I had Office for Mac and liked it a lot.  I was collaberating on some fairly complex legal documents, and never noticed any compatibility problems with Windows Office.  That said, it is expensive.  For most documents, I simply open the Word document in Pages and export it to Word when I am finished.  I sometimes get the message that there is a missing font, but the computer uses a substitute that is quite acceptable.  I have never had someone say that they had difficulty with a document I exported to Word.
    Numbers and Excel aren't as compatible in my experience, and I have gotten some surprises when I hadn't tweaked the settings properly when exporting to Excel.
    The other component of iWork is Keynote, and I like it much better than Powerpoint; to me it is just easier to use. I have never tried converting back and forth between Keynote and Powerpoint.
    Depending on what grade your kids are in and what they are doing, I think I would start off with iWork and see what, if any, problems they encounter.  Of course, if they are going to use the computer for a class in Office or its components, your kids are going to need a Windows machine with Windows Office, because Office for Mac is enough different that when the teacher says, "Now, move your mouse here and click on....", your kids are going to be lost.
    Hope this is useful.

  • Creating Header and Footer in ALV

    hi,
    can anyone please tell how will you create Header and Footer in ALv and Classical Report.

    Hi,
    In classical report use events 'top-of-page' for header and 'end-of-page' for footer.
    in ALV
    follow this link
    http://www.sap-img.com/abap/test-alv-display-with-header-footer.htm
    http://sap.ittoolbox.com/groups/technical-functional/sap-dev/header-footer-display-in-alv-grid-for-layout-description-344391
    Regards and Best wishes.

  • Problem Creating Hyperlink to another workbook

    I am having a problem creating a hyperlink to a worksheet in another workbook.
    Here is what I have done:
    Created the master and detail reports in 2 different workbooks.
    Executed the master worksheet to display the data
    Right clicked the field in the first row where I want to create the hyperlink, and chose Manage Links
    Clicked the New Link button
    Chose Worksheet for Where do you want to link to?
    Clicked Browse by the Destination Worksheet
    Clicked the detail report from the list of workbooks but the select button is grayed out
    Does anyone have any idea why it won't let me select the detail report to link to?
    I have OracleBI Discoverer Plus 10g
    Any suggestions would be deeply appreciated.

    Yes, I did add a parameter to the detail report so that I could get detail just for that one item. The part that is giving me trouble is specifying the Destination workbook/worksheet. I see the detail report when I browse but the Select button is grayed out so I haven't made it to the part where you identify what values to pass to the detail report yet.

  • I'm exhausted of trying to find a solution to a problem created by Apple. I have moved to iCloud, following your instructions and now I can not use my mobileme e-mail address. How can I contact directly with Apple, not just an automatic reply phone number

    I'm exhausted of trying to find a solution to a problem created by Apple. I have moved to icloud following all your instructions and now I can not use my mobile me e-mail address. I can not activate icloud because when I put my e-mail address it answers that somebody is already using my address. I have my old e-mails, but I can not receive any e-mail or send them.
    I have contacted Apple Technical Support in Spain and I was sent an e-mail saying that I have to call a phone number and when I call it is always an answering machine who answers that says that I have to pay 50€ for a consultation or wait for 10 minutes. When I have made the consultation it was never mentioned that I have to pay 50€ for a phone consultation. If I don't want to wait I have to pay for the Apple Tecnical Support which cost 250 €, this was not mentioned in the technical support page.
    Can somebody let me know how can I contact Apple in another way in order to talk with a human being or chat directly? I was very happy just using my mobileme e-mails, I didn't need any clouds and I was force by Apple to registered if I want to continue using my mobileme e-mail address.

    Sandra,
    See this Apple support document for information on reporting an issue with your iTunes purchase.
    http://support.apple.com/kb/HT1933
    B-rock

  • I would like to create a playlist of some of my voicememos to hear on my iphone5. I have no problem creating the list and can listen on playlist on computer but not when i sync to my phone. How can I listen to voicememos in a playlist on my iPhone?

    I would like to create a playlist of some of my voicememos to hear on my iphone5. I have no problem creating the list and can listen on playlist on computer but not when i sync to my phone. How can I listen to voicememos in a playlist on my iPhone?

    Hi czigrand,
    Thanks for visiting Apple Support Communities.
    Currently, you can gift dollar amounts or individual items (EG. songs) on the iTunes Store. See this article for more information:
    In the iTunes Store, you can gift a dollar amount or specific music, movies, TV shows, or apps from your iPhone, iPod touch, iPad, Mac, or PC. Follow these steps to send a gift from the iTunes Store.
    iTunes: Sending iTunes Gifts
    http://support.apple.com/kb/HT2736
    Best Regards,
    Jeremy

  • Problem creating Allocation Table with Reference to a PO

    Dear Folks,
    I am having problems creating an allocation table with reference to a PO in T-code WA01.
    I read the SAP help that some prerequisites need to exist:
    ==> You can only reference order items flagged as being relevant to a stock split (the Allocation table relevant indicator in the additional item data).
    Can anyone advice me where to find this stock split indicator?
    Also, can anyone advice me how to reuse an allocation table? For example, I had previously created an allocation table with many articles and various allocation rules. I already generated follow on documents for this table.
    Say after 2 weeks, I have the similar requirements that I can make use of the same table, only with minor adjustments to the quantity. How do I create a new allocation table using the existing allocation table data?
    Thanks and Regards
    Junwen

    Any idea please?
    thanks

  • Problem creating Network ACL for a ROLE in Oracle 11gR2

    According to Oracle Documentation when you create a new Network ACL you can add privileges to a user or role.  I need to create a new ACL for the UTL_SMTP package for a specific role, but when I granted it the users who have that role are still getting the "ORA-24247: network access denied by access control list (ACL)" error when they try to send an email.  If I grant the ACL privilege to the same users directly it works fine.  Is there any step I'm missing?  This is the test I have made on my Solaris 10 - Oracle 11gR2 (11.2.0.3) Standard Edition server:
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 21 09:31:52 2013
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    SQL> CONNECT system/******@testdb
    Connected.
    SQL> SET LINES 1000
    SQL> SELECT * FROM v$version;
    BANNER
    Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for Solaris: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    SQL> COLUMN host FORMAT A20
    SQL> COLUMN lower_port FORMAT 99999
    SQL> COLUMN upper_port FORMAT 99999
    SQL> COLUMN acl FORMAT A40
    SQL> COLUMN acl FORMAT A40
    SQL> COLUMN principal FORMAT A15
    SQL> COLUMN privilege FORMAT A10
    SQL> COLUMN is_grant FORMAT A8
    SQL> COLUMN status FORMAT A10
    SQL> SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
    no rows selected
    SQL> SELECT acl,principal,privilege,is_grant FROM dba_network_acl_privileges;
    no rows selected
    SQL> CREATE USER testacl IDENTIFIED BY testacl;
    User created.
    SQL> GRANT CONNECT TO testacl;
    Grant succeeded.
    SQL>
    SQL> BEGIN
      2     dbms_network_acl_admin.create_acl('test_smtp.xml','TEST SMTP ACL','TESTACL',true,'connect');
      3     dbms_network_acl_admin.assign_acl('test_smtp.xml','localhost',25);
      4     commit;
      5  END;
      6  /
    PL/SQL procedure successfully completed.
    SQL> SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
    HOST                 LOWER_PORT UPPER_PORT ACL
    localhost                    25         25 /sys/acls/test_smtp.xml
    SQL> SELECT acl,principal,privilege,is_grant FROM dba_network_acl_privileges;
    ACL                                      PRINCIPAL       PRIVILEGE  IS_GRANT
    /sys/acls/test_smtp.xml                  TESTACL         connect    true
    After creating this ACL I test it like this:
    SQL> CONNECT testacl/testacl@testdb
    Connected.
    SQL> SELECT host, lower_port, upper_port, privilege, status FROM user_network_acl_privileges;
    HOST                 LOWER_PORT UPPER_PORT PRIVILEGE  STATUS
    localhost                    25         25 connect    GRANTED
    SQL> DECLARE
      2     c utl_smtp.connection;
      3  BEGIN
      4     c := utl_smtp.open_connection('localhost', 25); -- SMTP on port 25
      5     utl_smtp.helo(c, 'localhost');
      6     utl_smtp.mail(c, 'Oracle11.2');
      7     utl_smtp.rcpt(c, '[email protected]');
      8     utl_smtp.data(c,'From: Oracle'||utl_tcp.crlf||'To: [email protected]'||utl_tcp.crlf||'Subject: UTL_SMTP TEST'||utl_tcp.crlf||'');
      9     utl_smtp.quit(c);
    10  END;
    11  /
    PL/SQL procedure successfully completed.
    SQL>
    This works fine and I receive the email correctly.  Now if I try to do the same thing for a role:
    SQL> CONNECT system/******@testdb
    Connected.
    SQL> BEGIN
      2     dbms_network_acl_admin.drop_acl('test_smtp.xml');
      3     commit;
      4  END;
      5  /
    PL/SQL procedure successfully completed.
    SQL> SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
    no rows selected
    SQL> CREATE ROLE testacl_role;
    Role created.
    SQL> GRANT testacl_role TO testacl;
    Grant succeeded.
    SQL> ALTER USER testacl DEFAULT ROLE ALL;
    User altered.
    SQL>
    SQL> BEGIN
      2     dbms_network_acl_admin.create_acl('test_smtp.xml','TEST SMTP ACL','TESTACL_ROLE',true,'connect');
      3     dbms_network_acl_admin.assign_acl('test_smtp.xml','localhost',25);
      4     commit;
      5  END;
      6  /
    PL/SQL procedure successfully completed.
    SQL> SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
    HOST                 LOWER_PORT UPPER_PORT ACL
    localhost                    25         25 /sys/acls/test_smtp.xml
    SQL> SELECT acl,principal,privilege,is_grant FROM dba_network_acl_privileges;
    ACL                                      PRINCIPAL       PRIVILEGE  IS_GRANT
    /sys/acls/test_smtp.xml                  TESTACL_ROLE    connect    true
    SQL>
    And now I test it again with the same user:
    SQL> CONNECT testacl/testacl@testdb
    Connected.
    SQL>
    SQL> SELECT host, lower_port, upper_port, privilege, status FROM user_network_acl_privileges;
    no rows selected
    SQL> DECLARE
      2     c utl_smtp.connection;
      3  BEGIN
      4     c := utl_smtp.open_connection('localhost', 25); -- SMTP on port 25
      5     utl_smtp.helo(c, 'localhost');
      6     utl_smtp.mail(c, 'Oracle11.2');
      7     utl_smtp.rcpt(c, '[email protected]');
      8     utl_smtp.data(c,'From: Oracle'||utl_tcp.crlf||'To: [email protected]'||utl_tcp.crlf||'Subject: UTL_SMTP TEST'||utl_tcp.crlf||'');
      9     utl_smtp.quit(c);
    10  END;
    11  /
    DECLARE
    ERROR at line 1:
    ORA-24247: network access denied by access control list (ACL)
    ORA-06512: at "SYS.UTL_TCP", line 17
    ORA-06512: at "SYS.UTL_TCP", line 267
    ORA-06512: at "SYS.UTL_SMTP", line 161
    ORA-06512: at "SYS.UTL_SMTP", line 197
    ORA-06512: at line 4
    SQL>
    I'm aware that role privileges doesn't apply inside procedures, functions or packages by default, but this is an anonymous block so it should use the active roles for the user.  I also tried adding a "dbms_session.set_role('TESTACL_ROLE');" at the beggining of the anonymous PL/SQL block but I got the same access error.
    Thanks in advance for any help you can give to me on this question, it would be very hard to grant the ACL to all the individual users as they are more than 1000, and we create more regularly.

    Thanks for your quick reply... I don't have a problem creating the basic ACL with the privileges granted for a user.  The problem appears when I try to create an ACL with privileges for a ROLE.  You can see here http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_networkacl_adm.htm#BABIGEGG than the official Oracle documentation states that you can assign the ACL principal to be a user or role:
    Parameter
    Description
    acl
    Name of the ACL. Relative path will be relative to "/sys/acls".
    description
    Description attribute in the ACL
    principal
    Principal (database user or role) to whom the privilege is granted or denied. Case sensitive.
    My issue is that when I try to create the ACL for a role it doesn't work.
    Have you ever created an ACL for a role? if so please send me an example or let me know which step I might be missing.  Cheers.

  • Problem creating hierarchy based on 2 physical dimension tables

    I'm having a problem creating 1 logical dimension with a drill-down hierarchy, based on two separate physical dimension tables. The errors I receive when navigating the drill-down hierarchy is:
    "Cannot find logical table source coverage for logical columns" &
    "Missing join between logical tables".
    I'm using OBIEE 10.1.3.4
    Here are the details of what I have setup sofar:
    Physical layer:
    Dimension table DIM_ORG with columns:
    -dimension_key
    -org_total_code
    -org_total_description
    -org_detail_code
    -org_detail_description
    Dimension table DIM_DEPT with columns:
    -dimension_key
    -dept_total_code
    -dept_total_description
    -dept_detail_code
    -dept_detail_description
    Fact table FACT_SALES with columns:
    -fk_org
    -fk_dept
    -sum_sales
    Physical Joins:
    FACT_SALES.fk_org = DIM_ORG_dimension_key
    FACT_SALES.fl_dept = DIM_DEPT.dimension_key
    Business Model & Mapping layer:
    I created a logical dimension ORG_DEPT. It contains two logical table sources (DIM_ORG & DIM_DEPT) and the following logical columns:
    - All Departments (mapped to dept_total_code)
    - Organisation (mapped to org_detail_description)
    - Organisation Number (mapped to org_detail_code)
    - Department (mapped to dept_detail_description)
    - Department Code (mapped to dept_detail_code)
    The business logical key is based on the combination of Organisation Number & Department Code
    The hierarchy I need is: All Departments -> Organisation -> Department so I created the following hierarchy for ORG_DEPT:
    - Total Level containing: All Departments
    - Organisation Level containing: Organisation Number (defined as the Logical level key) & Organisation (defined als the Drill level key)
    - Detail Department Level containing: Department Code (defined as Logical level key) and Department (defined as Drill level key).
    In the LTS of the dimension ORG_DEPT I've set the Content levels for the sources:
    DIM_ORG : Organisation Level
    DIM_DEPT: Detail Department Level
    In the LTS no -inner- joins have been added against related physical tables.
    I created a logical fact table SALES (based on the physical fact table) and joined it against the logical dimension table ORG_DEPT.
    In the LTS the Content level for ORG_DEPT is set against the Detail Department Level. No - inner- joins have been aded against related physical tables.
    When I create a report in Answers to test the hierachy and select only 'All Departments' I get the correct dimension value returned. When I try to drill to the next level I get the following ODBC error:
    "Cannot find logical table source coverage for logical columns: [All Departments]. Please check more detailed level keys are mapped correctly".
    When I create a report in Answers and select both 'All Departments' and 'Sales' I get the correct result. When I try to drill to the next level I get a different ODBC error:
    "Missing join between logical tables DIM_DEPT and DIM_DEPT: There must be at least one physical join link between the underlying physical tables".
    Any suggestions are welcome!
    Thanks!

    Hello Robert,
    Your suggestions were known to me but I still wanted to combine the two physical dimension tables in one logical dimension. So I've played around a bit more and found the solution: In my original setup I had two seperate logical table sources (one for each physical dimension table). The solution was to combine the two logical table sources in one logical table source. I achieved that by logical joining the DIM_DEPT table to the FACT_SALES table and subsequently to the DIM_ORG within the 1 LTS and using inner joins.
    Then I created the logical table key (a combination of org_detail_code & dept_detail_code). After that I could create the hierarchy with no problem.
    Edited by: The_Dutchman on Nov 4, 2011 9:43 PM

  • Problem Creating VirtualProviders Based on the DTP

    Problem Creating VirtualProviders Based on the Data Transfer Process .
    (1) I have created an Data Source(extract structure and extractor) on SYS1. Tested the extractor. It returns data as desired.
    (2) Then I replicated this Data Source to SYS2.
    (3) In SYS1 I created InfoCube(VirtualProvider based on data transfer process for direct access) .
    Till this point I have no issues .
    (4) But after that I am not able to "Create Data Transfer Process"  for this Virtual Infoprovider . When I try to create DTP the DTP type available for selection is "Scheduled" where as per the documentation I need to create DTP of DTP type "DTP for Direct Access".This DTP type I donot see.
    Is it a problem with the BW configuration or some user error.Any suggestions which may help would be realy appreciated.
    Thanks & Regards,
    priyadarshi

    Corrected some typo in my earlier update...
    Problem Creating VirtualProviders Based on the Data Transfer Process .
    (1) I have created an Data Source(extract structure and extractor) on SYS1. Tested the extractor. It returns data as desired.
    (2) Then I replicated this Data Source to SYS2.
    (3) In SYS2 I created InfoCube(VirtualProvider based on data transfer process for direct access) .
    Till this point I have no issues .
    (4) But after that I am not able to "Create Data Transfer Process" for this Virtual Infoprovider . When I try to create DTP the DTP type available for selection is "Standard(Scheduled)" where as per the documentation I need to create DTP of DTP type "DTP for Direct Access".This DTP type I donot see.
    Is it a problem with the BW configuration or some user error.Any suggestions which may help would be realy appreciated.
    Thanks & Regards,
    priyadarshi

  • Problem creating transactional iview for BW system

    Hi gurus
    We are facing one problem creating a transactional iview for a BW 3.5 system . We wanto to call transaction SU01 in our BW system using an iview. When we use SAP for html, we have all the menu on the iview , I mean the same result as if we use smen, not SU01.
    And if we use SAP GUI , we are always having the same GUI Error
    Sapgui 640 [Build 8986] Wed Apr 01 12:25:05 2009
    : 'service '' unknown
    Time          Wed Apr 01 12:25:03 2009
    Component     NI (network interface)
    Release          640
    Version          37
    Module          ninti.c
    Line          505
    Method          NiPGetServByName2: service '' not found
    Return Code     -3
    System Call     getservbyname_r
    Counter          1
    Please, can you help us?
    Thanks in advance and best regards.

    Thanks Bala for your quick reply. I´ve tried with function module RSBB_URL_PREFIX_GET  and all the settings were OK. Still the same result.
    Adding more information. We have another WAS 6.40 server with different Module(we have RM and XRPM , not BW) and we are having the same problems. I am wondering if its related with some special config or activation 
    Maybe  I´ve forgot some service activation in SICF? I´m able to reach the SMEN, but not the SU01
    or I´m missing some config elsewhere?
    Thanks in advance.
    Best regards.
    Edited by: Jose Ignacio Arlandis on Apr 2, 2009 8:41 AM

  • I have a problem creating a pdf from within Firefox using the print to function.

    I have a problem creating a PDF from within Firefox. I get an error message stating that Adobe PDF creation cannot continue because Acrobat is not activated. Acrobat Pro then opens. If it try to create the PDF again, the same problem. I have FF ver 3.6.10 and Acrobat Pro 8 (from Acrobat CS3).

    This is an Apple user forum, no-one from Apple is here.

Maybe you are looking for