我喜欢在屏幕上使标题全宽,包装为1052px,并希望在徽标和菜单保持原位的同时进行扩展。
有没有办法在响应式布局中将内部div扩展到全屏宽度?
我怎么能用css解决这个问题,记住"菜单"固定在顶部和#34;全宽" div必须正常滚动?我想我不能用绝对定位。我希望它清楚,否则我会尝试改进这个问题。
这里是header.php代码
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
<head>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php wp_head(); ?>
</head>
<body <?php body_class() ?>>
<div id="wrapper">
<div id="inner-wrap">
<div id="header" class="fullwidth">
<div id="logo">
<?php if (!option::get('misc_logo_path')) { echo "<h1>"; } ?>
<a href="<?php bloginfo('url'); ?>" title="<?php bloginfo('description'); ?>">
<?php if (!option::get('misc_logo_path')) { bloginfo('name'); } else { ?>
<img src="<?php echo ui::logo(); ?>" alt="<?php bloginfo('name'); ?>" />
<?php } ?>
</a>
<div id="header-amp"></div>
<?php if (!option::get('misc_logo_path')) { echo "</h1>"; } ?>
</div><!-- / #logo -->
<nav class="main-navbar" role="navigation">
<div class="navbar-header">
<?php if (has_nav_menu( 'primary' )) { ?>
<a class="navbar-toggle" href="#menu-main-slide">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<?php wp_nav_menu( array(
'container_id' => 'menu-main-slide',
'theme_location' => 'primary'
) );
} ?>
</div>
<div id="navbar-main">
<?php if (has_nav_menu( 'primary' )) {
wp_nav_menu( array(
'menu_class' => 'nav navbar-nav dropdown sf-menu',
'theme_location' => 'primary'
) );
} ?>
</div><!-- #navbar-main -->
</nav><!-- .navbar -->
<div class="clear"></div>
<div class="clear"></div>
</div><!-- / #header-->
<div id="main">
答案 0 :(得分:0)
#inner-wrap{
width: 100vw; /* make it 100% of the viewport width (vw) */
margin-left: calc((100% - 100vw) / 2); /* then remove the gap to the left of the container with this equation */
}
左边距方程是在容器内获得完整宽度的关键。
首先,我得到的容器间隙的总大小为负数(因此边距可以为负):容器的100%-窗口大小(100%-100vw)。
最后,我一分为二(上面的结果是左右两边的,所以我只需要左边的大小)。
总而言之,我将内部包装宽度设置为与视口宽度相同,然后在不使用position:absolute或position:fixed的情况下将其向左拉,如果您需要下面的内容,则会破坏布局
如果100%的计算尺寸不正确,则可能需要调整父级。职位:相对可以提供帮助。
答案 1 :(得分:0)
#inner-wrap{
width: 100vw;
position: absolute;
height: 100%;
margin-left: 50%;
transform: translateX(-50vw);
}
这是使用绝对定位的全角容器的另一种选择。父项必须设置为 position:relative;