2

我想将地图、徽标和按钮居中,以便内容在顶部栏下方居中。

在此处输入图像描述

我尝试了各种方式,但如果我制作一个 div,它会缩小地图。以下是排除的 HTML、SVG 数据。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Free classifieds</title><link rel="icon" href="/img/favicon_us.ico?51340" type="image/x-icon">
<link href="/static/india_files/index_in.css?234" rel="stylesheet" type="text/css">   
    <link rel="stylesheet" type="text/css" href="/static/usa.css?{{VERSION}}" />

</head>

<body>


<div class="topbar">
        <div class="topbar-inner nohistory">
            <div class="topbar-left">
            <a class="topbar-new" href="https://www.koolbusiness.com/account/create"><strong>New!</strong> All your ads and saved searches in one place, create an account today!</a>

            </div>
            <div class="topbar-right">
                <a class="topbar-login last" href="/login" title="Login to your account" rel="nofollow">
                        <i class="sprite_common_topbar_log-in topbar-float_left"></i>


                        {% if loggedin %}<a href="/logout">{% trans %}Log out{% endtrans %}{% else %}<a href="/login">{% trans %}Log in{% endtrans %}{% endif %}




                    </a>
                    <a class="topbar-create first" href="/create/" title="Create your account" rel="nofollow">  
                        <i class="sprite_common_topbar_logged-in topbar-float_left"></i>
                        {% if loggedin %}{{user.name}}{% else %}<a href="/create/">{% trans %}Create account{% endtrans %}</a>{% endif %}



                    </a>

            </div>
        </div>
    </div>


<div onselectstart="return false;" class="unselectable" >
<div id="wrapper">

<h1 id="logo" class="sprite_index_in_in_en_logo spritetext">hipheap.com - The right choice for buying &amp; selling in usa</h1>



    <div id="post">
 <a href="/ai" id="ad">Post your ad for free</a>

</div>


    <!-- map code -->
    <div id="map_base">

    <span class="tip" id="tip"></span>

<!-- the svg code starts here -->
<svg version="1.1" id="map" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 1080 720" xml:space="preserve">

<g id="shadow">
    ...
</g>
</svg>
</div>
<div class="clear"></div>

</div>
</div>

</body>
</html>

CSS 太大而无法放入 SO 问题中,但可以从链接中获得,当然它无助于解决问题,因为解决问题不会显示问题:

http://jsfiddle.net/niklasro/yyPsW/

可以做什么?我只想做一些非常简单的事情,以一个内容为中心,而所有这些框架和 cSS 以及毫无意义的模块化使得做一些简单的事情变得不可能。

更新

我尝试margin: 0 auto;在 div 上使用,但它不起作用,因为 CSS 使得做一些简单的事情变得不可能。

4

3 回答 3

1

这是一个 hack,但就像你说的那样,代码和 CSS 是硬连线的,以使地图在右侧有很大的余量。边距自动不起作用,因为额外的边距占据了整个页面,并且使其变窄只会缩小地图。

但是,您可以尝试相对定位,使其移动到中心而不缩小地图。

例如,

<div id="wrapper" style="position: relative; left: 33%">

当我在您的代码中仅更改它时,它看起来对我来说大致正确。

为了获得更好的答案,我必须想办法让地图停止缩放。现在它的大小与包装块的宽度成正比,现在它被硬连接到 1400px。如果我改变那个宽度,那么地图就会缩小,就像你说的那样。

于 2013-06-12T18:53:20.603 回答
0

将您的徽标、地图和按钮包装成一个<div>,然后使用margin: 0 auto;

margin: 0 auto是一种将内容置于页面中间的技巧!

于 2013-06-12T18:41:58.470 回答
0

嗯,你的比这复杂一点。

首先,对于您的:

<div id="wrapper">

加入:

margin: 0 auto;

这将使您的元素在该包装器中居中,是的。但是,您还设置了一些绝对定位:

 <div id="post">

你需要删除。否则你的按钮不会对齐。

然后对于您的地图,您使用的是 SVG 图形。所以你必须添加另一个 CSS 属性:

为您:

 <div id="map_base">

加入:

 margin: 0 auto;

然后对于您的 svg 图形,您需要添加:

 margin-left: 25%; 
于 2013-06-12T18:48:42.253 回答