• 0

Form won't vertically centre in Opera


Question

I have a simple search form with one input field and a submit button. The fields are vertically centred in place using line height and this works well in all browsers except Opera.

Take a look here: http://kitescoop.com...ewforum.php?f=2

It is the search box in the top right corner.

What makes this especially confusing is that I have a custom home page for that forum here which uses a different stylesheet but practically the same code for the search form. On the home page, it centers fine.

Here is what it looks like in Opera:

xYWaJ.gif

Here is what it looks like in every other browser:

ORQIt.gif

Here is the relevant code:

HTML (look at <div id="search-box">)

&lt;div id="header-box"&gt;
	&lt;h1&gt;&lt;a href="{U_INDEX}"&gt;{SITENAME}&lt;/a&gt;&lt;/h1&gt;
	&lt;h2&gt;{SITE_DESCRIPTION}&lt;/h2&gt;
	&lt;div id="top-nav"&gt;
		&lt;!-- IF S_DISPLAY_SEARCH and not S_IN_SEARCH --&gt;
			&lt;div id="search-box"&gt;
				&lt;form action="{U_SEARCH}" method="post" id="search"&gt;
				&lt;fieldset&gt;
					&lt;input name="keywords" id="keywords" type="text" maxlength="128" title="{L_SEARCH_KEYWORDS}" class="inputbox search" value="&lt;!-- IF SEARCH_WORDS--&gt;{SEARCH_WORDS}&lt;!-- ELSE --&gt;{L_SEARCH_MINI}&lt;!-- ENDIF --&gt;" onclick="if(this.value=='{LA_SEARCH_MINI}')this.value='';" onblur="if(this.value=='')this.value='{LA_SEARCH_MINI}';" /&gt;
					&lt;input class="button2" value="{L_SEARCH}" type="submit" /&gt;
				&lt;/fieldset&gt;
				&lt;/form&gt;
			&lt;/div&gt;
			&lt;script type="text/javascript"&gt;
				$(function() {
					//find all form with class jqtransform and apply the plugin
					$("form.jqtransform").jqTransform();
				});
			&lt;/script&gt;
		&lt;!-- ENDIF --&gt;
	&lt;/div&gt;
	&lt;div id="main-nav"&gt;
		&lt;ul id="main-nav-primary"&gt;
			&lt;li&gt;&lt;a href="http://www.kitescoop.com/" class="nav-home"&gt;Home&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="http://www.kitescoop.com/videos/" class="nav-videos"&gt;Videos&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="http://www.kitescoop.com/photos/" class="nav-photos"&gt;Photos&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="http://www.kitescoop.com/forum/" class="nav-forum"&gt;Forum&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;ul id="main-nav-secondary"&gt;
			&lt;li&gt;&lt;a href="http://www.kitescoop.com/articles/" class="nav-articles"&gt;Articles&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="http://www.kitescoop.com/interviews/" class="nav-interviews"&gt;Interviews&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="http://www.kitescoop.com/artists/" class="nav-artists"&gt;Artists&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="http://www.kitescoop.com/tricks/" class="nav-tricks"&gt;Tricks&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="http://www.kitescoop.com/store/" class="nav-store"&gt;Store&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
&lt;/div&gt;

CSS:

#header-box {
	background-color: #000;
	padding: 20px 9px 10px 9px;
	position: relative;
}

#header-box h1 {
	display: block;
	position: absolute;
	z-index: 10;
	left: 30px;
	top: 26px;
}

#header-box h1 a {
	display: block;
	background: transparent url('{T_THEME_PATH}/images/logo.gif') no-repeat top left;
	width: 242px;
	height: 144px;
	text-indent: -9000px;
}

#header-box h2 {
	display: none;
}

#top-nav {
	background: #000 url('{T_THEME_PATH}/images/menu_bg.gif') repeat-x top left;
	height: 41px;
}

#top-nav #search-box {
	float: right;
	height: 41px;
	line-height: 41px;
	margin-right: 16px;
}

#top-nav #search-box fieldset {
	border: none;
	height: 41px;
	padding: 0;
	margin: 0;
	font-size: 11px;
}

#top-nav #search-box fieldset input[type="text"] {
	height: 23px;
	width: 164px;
	background: transparent url('{T_THEME_PATH}/images/input.gif') no-repeat top left;
	border: none;
	padding: 0 4px;
	margin: 0;
	font-size: 11px;
	line-height: 23px;
	color: #919191;
}

#top-nav #search-box fieldset input[type="submit"] {
	height: 23px;
	width: 70px;
	background: #181818 url('{T_THEME_PATH}/images/search.gif') no-repeat top left;
	border: none;
	padding: 0;
	margin: 0;
	font-size: 11px;
	line-height: 23px;
	text-indent: -9000px;
	cursor: pointer;
}

#main-nav {
	margin-top: 16px;
	background: #000 url('{T_THEME_PATH}/images/under_menu_bg.gif') repeat top left;
	height: 108px;
	position: relative;
}

Link to full stylesheet: http://kitescoop.com.../stylesheet.css

Link to home page stylesheet for comparison: http://kitescoop.com.../home_style.css

Any help on this is much appreciated. I am completely stumped here.

Thanks,

Jordan

4 answers to this question

Recommended Posts

  • 0

EDIT: Aha. Looks like it's the Doctype. Using XHTML 1.0 Strict on the home page and XHTML 1.0 Transitional through the rest of the forum. I can't change the rest of the forum to strict as it would take too much work correcting errors. Got to find a workaround.

They look the same to me and the link looks like it should. Using Opera 12 build 1467.

That's the same version and build that I am using and I've tested it on 2 separate computers with the same broken result.

line-height works only fine with text with other lements it starts to give bugs, use margin instead

Line-height should work for all inline elements. Hence why it works in every other browser and even on the home page in Opera.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Microsoft should never have purchased anything after RARE.
    • Call of Duty: Vanguard, EA Sports FC 26, and more come to Xbox Game Pass by Pulasthi Ariyasinghe Microsoft is in the process of making some big changes to Xbox Game Studios right now, which might include studio shutdowns, but Game Pass drops aren't pausing for that. The second wave of June was just announced, unveiling another Call of Duty addition, the latest soccer game from EA, an indie road trip hit from last year, and more. While Microsoft said it won't put Call of Duty titles on Game Pass on the day of launch anymore, older titles keep landing, with the latest one being 2021's Call of Duty: Vanguard. Here are all the games that were announced today for Xbox Game Pass, their platforms, and arrival dates: Junkster (Cloud, XBOX Series X|S, Handheld, and PC) – June 16 Call of Duty: Vanguard (Cloud, Console, and PC) – June 17 EA Sports FC 26 (Cloud, Console, and PC) – June 18 Abyssus (Cloud, Xbox Series X|S, and PC) – June 25 RV There Yet? (Cloud, Xbox Series X|S, and PC) – June 30 Tony Hawk's Pro Skater 3 + 4 (Cloud, Console, and PC) – July 2 Winds of Arcana: Ruination (Cloud, Console, Handheld, and PC) – July 6 From the bunch, Junkster is the sole day-one drop into Game Pass libraries of this selection. As new games arrive, eight will be leaving the Game Pass programs on June 30. Here's the full list of leaving titles: Mecha Break (Cloud, Console, and PC) Payday 2 (Console) Rise of Tomb Raider (Cloud, Console, and PC) Tomb Raider (Cloud, Console, and PC) Slay the Spire (Cloud, Console, and PC) Ultimate Chicken Horse (Cloud, Console, and PC) Volcano Princess (Cloud, Console, and PC) Unpacking (Cloud, Console, and PC) With June drops finished, Microsoft should have a new Game Pass announcement in about two weeks to reveal the first wave of games coming to subscribers in July. Already confirmed games for the month include the Halo: Campaign Evolved remake, Corsair Cove, SpeedRunners 2: King of Speed, and Mistfall Hunter.
  • Recent Achievements

    • One Year In
      Console General earned a badge
      One Year In
    • One Year In
      Twozo Technologies earned a badge
      One Year In
    • One Month Later
      Twozo Technologies earned a badge
      One Month Later
    • Week One Done
      Twozo Technologies earned a badge
      Week One Done
    • Veteran
      branfont went up a rank
      Veteran
  • Popular Contributors

    1. 1
      +primortal
      522
    2. 2
      +Edouard
      203
    3. 3
      PsYcHoKiLLa
      111
    4. 4
      Steven P.
      89
    5. 5
      Nick H.
      71
  • Tell a friend

    Love Neowin? Tell a friend!