Angular Material layout=column заставляет элементы div располагаться друг над другом в IE

Привет, разработчики Angular Material. Angular Material, безусловно, красивый фреймворк, но IE он совсем не нравится.

Я пытаюсь использовать макет = столбец при просмотре на мобильном устройстве (ширина ‹ 600 пикселей). Вот документация по адаптивному макету.

И Chrome, и Firefox работают хорошо, но при открытии в IE(ver. 11) происходит что-то неприятное.

http://codepen.io/anon/pen/zGQmYX

<html lang="en" ng-app="StarterApp">
<head>
    <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/0.9.4/angular-material.min.css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=RobotoDraft:300,400,500,700,400italic">
    <meta name="viewport" content="initial-scale=1" />
    <style>
        .md-toolbar-tools h1 {
            font-size: inherit;
            font-weight: inherit;
            margin: inherit;
        }
    </style>
</head>
<body layout="column" ng-controller="AppCtrl">
    <md-toolbar layout="row">
        <div class="md-toolbar-tools">
            <md-button ng-click="toggleSidenav('left')" hide-gt-sm class="md-icon-button">
                <md-icon aria-label="Menu" md-svg-icon="https://s3-us-west-2.amazonaws.com/s.cdpn.io/68133/menu.svg"></md-icon>
            </md-button>
            <h1>Hello World</h1>
        </div>
    </md-toolbar>
    <div layout="row" flex>
        <md-sidenav layout="column" class="md-sidenav-left md-whiteframe-z2" md-component-id="left" md-is-locked-open="$mdMedia('gt-sm')">

        </md-sidenav>
        <div layout="column" flex id="content">
            <md-content layout="column" flex class="md-padding">
                <div layout="column">
                    <div flex>
                        I'm above on mobile, and to the left on larger devices.
                    </div>
                    <div flex>
                        I'm below on mobile, and to the right on larger devices.
                    </div>
                </div>
            </md-content>
        </div>
    </div>
    <!-- Angular Material Dependencies -->
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-animate.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-aria.min.js"></script>

    <script src="https://ajax.googleapis.com/ajax/libs/angular_material/0.10.1/angular-material.min.js"></script>
    <script>
        var app = angular.module('StarterApp', ['ngMaterial']);
        app.controller('AppCtrl', ['$scope', '$mdSidenav', function ($scope, $mdSidenav) {
            $scope.toggleSidenav = function (menuId) {
                $mdSidenav(menuId).toggle();
            };
        }]);
    </script>
</body>
</html>

введите здесь описание изображения

Я упростил код, поэтому макет всегда столбец.

Есть ли решение для этого? Я бьюсь головой о стол так сильно, что вот-вот упаду в обморок.


person Taiwei Tuan    schedule 18.08.2015    source источник


Ответы (1)


Я не знаю, поможет ли это, но однажды у меня была эта проблема в хроме, и добавление <!DOCTYPE HTML> в начало документа решает проблему.

person Lukas Chen    schedule 08.05.2016