3

.css只是想知道是否可以通过外部/链接文件而不是内联样式来设置弹出气球的样式?

4

2 回答 2

3

我通常做的是为我的地标气球创建一个 BalloonStyle,其中包含一个 div带有 CSS 类的包装器,例如earth-balloon,然后可以直接从包含页面中设置样式。

例如,KML 看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <Style id="foo">
      <BalloonStyle>
        <text><![CDATA[
        <div class="earth-balloon">
          $[description]
        </div>
        ]]></text>
      </BalloonStyle>
    </Style>
    <Placemark>
      <styleUrl>#foo</styleUrl>
      <name>Bar</name>
      <description><![CDATA[
        Some <em>HTML</em> here.
      ]]></description>
      <Point>
        <coordinates>-122,37</coordinates>
      </Point>
    </Placemark>
  </Document>
</kml>

包含页面本身可能如下所示:

<html>
<head>
  <link rel="stylesheet" type="text/css" href="styles.css"/>
  <!-- Earth API stuff goes here -->
</head>
<body>
  <div id="map3d"></div>
</body>
</html>

然后您可以通过以下规则styles.css为地标设置气球样式:styleUrl = #foo

.earth-balloon {
  font-family: Georgia, serif;
}

.earth-balloon em {
  color: red;
}

希望有帮助!

于 2009-08-12T15:54:11.810 回答
0

是的,我过去曾这样做过,这可能非常棘手。您需要使用 firebug 来找出您需要获取的选择器,并且在您的 CSS 中,您必须非常具体地覆盖它们,有时您甚至可能必须在规则上使用 !important。

娜塔莉

于 2009-07-30T10:22:11.307 回答