• Resolved mphoto

    (@mphoto)


    The menu works fine, including sub-levels, but breaks into 3 lines on an iPhone. Here’s the code for the child-theme’s header.php:

    <?php
    /**
     * The Header for our theme.
     *
     * Displays all of the <head> section and everything up till <div id="main">
     *
     * @package WordPress
     * @subpackage Twenty_Eleven
     * @since Twenty Eleven 1.0
     */
    ?><!DOCTYPE html>
    <!--[if IE 6]>
    <html id="ie6" <?php language_attributes(); ?>>
    <![endif]-->
    <!--[if IE 7]>
    <html id="ie7" <?php language_attributes(); ?>>
    <![endif]-->
    <!--[if IE 8]>
    <html id="ie8" <?php language_attributes(); ?>>
    <![endif]-->
    <!--[if !(IE 6) | !(IE 7) | !(IE 8)  ]><!-->
    <html <?php language_attributes(); ?>>
    <!--<![endif]-->
    <head>
    <meta charset="<?php bloginfo( 'charset' ); ?>" />
    <meta name="viewport" content="width=device-width" />
    <title><?php
    	/*
    	 * Print the <title> tag based on what is being viewed.
    	 */
    	global $page, $paged;
    
    	wp_title( '|', true, 'right' );
    
    	// Add the blog name.
    	bloginfo( 'name' );
    
    	// Add the blog description for the home/front page.
    	$site_description = get_bloginfo( 'description', 'display' );
    	if ( $site_description && ( is_home() || is_front_page() ) )
    		echo " | $site_description";
    
    	// Add a page number if necessary:
    	if ( $paged >= 2 || $page >= 2 )
    		echo ' | ' . sprintf( __( 'Page %s', 'twentyeleven' ), max( $paged, $page ) );
    
    	?></title>
    <meta name="keywords" content="Boston table tennis academy, Boston table tennis club, play ping-pong, Watertown, MA, Massachusetts, ping pong, pingpong, coach, coaching, Watertown, Waltham, Belmont, Cambridge, Newton, Atrium School, 24/7 Fitness, Stoughton, South Shore, Metrowest, classes, kids, adults, tournaments" /> 
    
    <meta name="description" content="Boston Table Tennis Academy, located in Watertown and Stoughton, is for all levels of players, beginner to expert, with coaching available for individuals or groups. No partner necessary. Daily, monthly, or yearly membership options." /> 
    
    <link rel="profile" href="http://gmpg.org/xfn/11" />
    <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
    <!--[if lt IE 9]>
    <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script>
    <![endif]-->
    <?php
    	/* We add some JavaScript to pages with the comment form
    	 * to support sites with threaded comments (when in use).
    	 */
    	if ( is_singular() && get_option( 'thread_comments' ) )
    		wp_enqueue_script( 'comment-reply' );
    
    	/* Always have wp_head() just before the closing </head>
    	 * tag of your theme, or you will break many plugins, which
    	 * generally use this hook to add elements to <head> such
    	 * as styles, scripts, and meta tags.
    	 */
    	wp_head();
    ?>
    </head>
    
    <body <?php body_class(); ?>>
    <div id="page" class="hfeed">
    	<header id="branding" role="banner">
    			<hgroup>
    				<h1 id="site-title"><span><a>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><img src="<?php echo bloginfo ('stylesheet_directory');?>/images/logotype_btta_608.png" alt="<?php bloginfo( 'name' ); ?>"/></a></span></h1>
    				<h2 id="site-description"><?php bloginfo( 'description' ); ?></h2>
    			</hgroup>
    
    			<?php
    				// Check to see if the header image has been removed
    				$header_image = get_header_image();
    				if ( $header_image ) :
    					// Compatibility with versions of WordPress prior to 3.4.
    					if ( function_exists( 'get_custom_header' ) ) {
    						// We need to figure out what the minimum width should be for our featured image.
    						// This result would be the suggested width if the theme were to implement flexible widths.
    						$header_image_width = get_theme_support( 'custom-header', 'width' );
    					} else {
    						$header_image_width = HEADER_IMAGE_WIDTH;
    					}
    					?>
    			<a>">
    				<?php
    					// The header image
    					// Check if this is a post or page, if it has a thumbnail, and if it's a big one
    					if ( is_singular() && has_post_thumbnail( $post->ID ) &&
    							( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( $header_image_width, $header_image_width ) ) ) &&
    							$image[1] >= $header_image_width ) :
    						// Houston, we have a new header image!
    						echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
    					else :
    						// Compatibility with versions of WordPress prior to 3.4.
    						if ( function_exists( 'get_custom_header' ) ) {
    							$header_image_width  = get_custom_header()->width;
    							$header_image_height = get_custom_header()->height;
    						} else {
    							$header_image_width  = HEADER_IMAGE_WIDTH;
    							$header_image_height = HEADER_IMAGE_HEIGHT;
    						}
    						?>
    					<img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
    				<?php endif; // end check for featured image or standard header ?>
    			</a>
    			<?php endif; // end check for removed header image ?>
    
    			<nav id="access" role="navigation">
    				<h3 class="assistive-text"><?php _e( 'Main menu', 'twentyeleven' ); ?></h3>
    				<?php /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff. */ ?>
    				<div class="skip-link"><a href="#content">"><?php _e( 'Skip to primary content', 'twentyeleven' ); ?></a></div>
    				<div class="skip-link"><a href="#secondary">"><?php _e( 'Skip to secondary content', 'twentyeleven' ); ?></a></div>
    				<?php /* Our navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assigned to the primary location is the one used. If one isn't assigned, the menu with the lowest ID is used. */ ?>
    				<?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>
    			</nav><!-- #access -->
    	</header><!-- #branding -->
    
    	<div id="main">

    http://www.bostontta.com/

Viewing 7 replies - 1 through 7 (of 7 total)
  • Umm, did you have a question or were you just making an observation? TwentyEleven was not designed to be a responsive theme, so the menu is going to wrap. TwentyTwelve was the first wordpress.org-created theme to be responsive; if you want your menu to turn into a drop-down on mobile devices, you may want to switch to that theme or to TwentyThirteen. You can always switch back to TwentyEleven if you don’t like one of the more updated themes.

    Thread Starter mphoto

    (@mphoto)

    No, this was a question. I don’t want the menu to wrap, just appear in a straight line, the way it looks on a larger screen. Twenty ten menu appears on one line in another site I designed.

    OK, so basically you want a fixed-width site, you don’t want the main content to get narrower. Otherwise, it would look pretty strange for your menu to remain the same width but the rest of your site to get narrower. The only problem is that on a smart phone, your users will have to scroll to the right to see the entire page.

    Add this CSS rule:

    .one-column #page {
       width: 690px;
    }

    I see you’re using a child theme, so just put this at the end of your child theme’s style.css file.

    One thing you can try, if you want to keep your site fluid, is to reduce the amount of spacing between menu items, remove the margins from the main content, and adjust the left margin of the menu. You need to also change Membership Fees to just Membership so everything will fit on one line.

    Put this in your child style.css file instead of the rule I posted earlier:

    @media only screen and (max-width: 767px) {
    	#access a {
    		padding: 0 5px;
    		}
    	#access .menu-menu-1-container {
    		margin: 0px 0px 0px 10px;
    		}
    	body {
    		padding: 0px;
    		}
    }

    Everything is enclosed in a media query, that is, the rules will only come into effect on a screen size smaller than 767px.
    The first rule reduces the amount of spacing between menu items.
    The second rule moves the menu to the left edge of the page.
    The last rule takes off the margins along the sides.
    If you take the word Membership from the one menu item, everything should fit on one line. You may have to change Contact Us to Contact.

    Thread Starter mphoto

    (@mphoto)

    Thanks! I like this last option and will try. It seems that Twenty Ten condenses the menu (on large screen – http://hilarymarcus.com/ ) so it stays on one line on iPhone, while Twenty Eleven spreads it out.

    OK, hope it works out for you. The thing about the Hilary Marcus site is that the menu stays one line because it’s a fixed width layout (i.e., not fluid), mobile users will have to zoom in or scroll to the right to see the entire site. That’s what my first option does, set the layout to a fixed width.

    Thread Starter mphoto

    (@mphoto)

    Thank you! I didn’t realize the Marcus site was fixed width.

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Twenty Eleven menu breaks into multiple lines on Iphone but works’ is closed to new replies.