3

I have been working on debugging our web app for days now, and I am not sure what is causing it to crash in mobile safari. The app works wonderfully on the iPad2, but for some reason it crashes on the iPad3. I commented out every piece of code, and what seems to be the problem is absolute positioning on an element. Here is my code for the section.

.page .main-content .study-bo {
   background: #F4F4F4;
   border-top: 1px solid #D1D1D1;
   border-bottom: 1px solid #D1D1D1;
   width: 644px;
   position: absolute;
   top: 501px;
   left: 0px;
   padding: 30px 40px;
   z-index:500;
   -webkit-transition: top .5s ease-in-out;
}   
.page .main-content .study-bo .text {
    width: 100%;
    height: 100%;
    position: relative;
    left:auto;
}
.page .main-content .study-bo p {
   font-family: "FrutigerRoman";
   font-size: 12px;
   color: #000000;
   margin-bottom: 15px;
}
.page .main-content .study-bo .study-design {
   width: 92px;
   height: 20px;
   background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(199, 199, 199, 1)), color-stop(100%,rgba(167, 167, 167, 1)));
   -webkit-border-radius: 5px 5px 0px 0px;
   border: 1px solid #999;
   font-family: "FrutigerItalic";
   font-size: 13px;
   color: white;
   text-shadow: 1px 1px 0px #8E8E8E;
   filter: dropshadow(color=#8e8e8e, offx=1, offy=1);
   text-align: center;
   padding-top: 4px;
   -webkit-box-shadow: inset 0px 1px 0px 0px #e5e4e4;
   position: absolute;
   top: -26px;
   font-style: italic;
   z-index: 50;
   left: 44px;
}
.page .main-content .study-bo .study-design .btn.active {
   background: #6c6a6a;
   text-shadow: 1px 1px 0px #434343;
   filter: dropshadow(color=#434343, offx=1, offy=1);
   -webkit-box-shadow: inset 0px 1px 0px 0px #9e9d9d;
}

The part in the code that is making the app crash is:

   position: absolute;
   top: 501px;
   left: 0px;

I am not sure if this is an apple bug? I have multiple elements positioned absolute with no problems. If I comment out those three lines (and only those three lines), the app works. I have tried commenting out other sections of my code and keeping those three lines in, and it doesnt work. Anyone have any suggestions?? Thank you!

1 Answers1

1

It could be a bug, but it's hard to say without seeing and exploring the webapp first-hand. I would try to fiddle with the layout to try to:

  • get relative positioning to work, instead of absolute,
  • using percentages instead of pixels in the top and left attributes,
  • working with float:left or float:right, with margins or padding, instead of absolute positioning,
  • apply a CSS reset/normalizer before your other CSS, like normalize.css, to see if that magically fixes the problem,
  • or as a last resort, look into an alternative layout that doesn't force you to use absolute positioning here.

These are all shots in the dark, but maybe they'll help.

Chris Fritz
  • 1,922
  • 1
  • 19
  • 23