0

有没有人知道如何将下面的 XAML 输出实现为 HTML5 和 CSS3:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="100" />
        <RowDefinition Height="33" />
        <RowDefinition Height="29" />
        <RowDefinition Height="*"/>
        <RowDefinition Height="75" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="98" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="98" />
    </Grid.ColumnDefinitions>
    <Border x:Name="header" Grid.Row="0" Grid.Column="1"/>
    <Border x:Name="mainNav" Grid.Row="1" Grid.Column="1"/>
    <Border x:Name="secondNav" Grid.Row="2" Grid.Column="1"/>
    <Border x:Name="body" Grid.Row="3" Grid.Column="1"/>
    <Border x:Name="footer" Grid.Row="4" Grid.Column="1"/>
</Grid>

谢谢

4

1 回答 1

2

如果我对您的理解正确,您只想将这段代码剪断翻译成 HTML/CSS。一对一的翻译如下所示。

但是,HTML/CSS 是与 XAML 不同的媒介。例如,在 CSS 中没有简单的方法,Width="*"也没有内置的网格系统,所以你必须用浮动来构建它(这是出于历史原因,发明 CSS 是为了设置文本文档的样式,而不是构建布局)。所以我建议你看一个对 web 更友好的解决方案:一个广泛使用的带有行和列的 HTML/CSS 脚手架框架是Bootstrap

粗略的一对一翻译:

<!DOCTYPE html>
<html>
<head>
    <style>
    .grid > div > div {
        float: left;
        outline: 1px solid black;

        height: 100%;
        min-width: 30px;
    }

    .header {
        height: 100px;
    }
    .mainNav {
        height: 33px;
    }
    .secondNav {
        height: 29px;
    }
    .body {
        height: 30px;
    }
    .footer {
        height: 75px;
    }

    .grid-column-1 {
        width: 98px;
    }
    .grid-column-2 {
    }
    .grid-column-3 {
        width: 98px;
    }
    </style>
</head>
<body>
    <div class="grid">
        <div class="header">
            <div class="grid-column-1"></div>
            <div class="grid-column-2"></div>
            <div class="grid-column-3"></div>
        </div>
        <div class="mainNav">
            <div class="grid-column-1"></div>
            <div class="grid-column-2"></div>
            <div class="grid-column-3"></div>
        </div>
        <div class="secondNav">
            <div class="grid-column-1"></div>
            <div class="grid-column-2"></div>
            <div class="grid-column-3"></div>
        </div>
        <div class="body">
            <div class="grid-column-1"></div>
            <div class="grid-column-2"></div>
            <div class="grid-column-3"></div>
        </div>
        <div class="footer">
            <div class="grid-column-1"></div>
            <div class="grid-column-2"></div>
            <div class="grid-column-3"></div>
        </div>
    </div>
</body>
</html>
于 2013-06-25T10:04:42.827 回答