This happens because of the way twentyfourteen applies classes to the body.
Infact it doesn’t uses different html layout for for pages without sidebar. It just adds some classes to the body, with a function (that you can find at line 412 of twentyfourteen/functions.php)
I mean, the full width pages are 100% width just because there is this rule in css
.full-width .hentry {
max-width: 100%;
}
if you want a quick hack just edit that function at line 427/432
from this:
if ( ( ! is_active_sidebar( 'sidebar-2' ) )
|| is_page_template( 'page-templates/full-width.php' )
|| is_page_template( 'page-templates/contributors.php' )
|| is_attachment() ) {
$classes[] = 'full-width';
}
to this (adding your custom template file name)
if ( ( ! is_active_sidebar( 'sidebar-2' ) )
|| is_page_template( 'page-templates/full-width.php' )
|| is_page_template( 'page-templates/contributors.php'
|| is_page_template( 'page-templates/MY-PAGE-TEMPLATE.php' )
|| is_attachment() ) {
$classes[] = 'full-width';
}
obviously you have to put your MY-PAGE-TEMPLATE.php file inside the page-template folder of twentyfourteen.
Instead, if you’re using a child theme, you can just look at the body tag of the page you want to be 100% width and replicate that rule in css for a class present in your page (like it’s done for “full-width”):
.YOUR-CLASS .hentry {
max-width: 100%;
}
Last one: if you can’t find a specific class you can use, just add this snippet in your child theme functions.php
https://stv.whtly.com/2011/02/19/wordpress-append-page-slug-to-body-class/
it adds the current page slug as body class, so you can use it in your css rules.