TablesTutorials

how to create a table in html CSS

how to create a table in html CSS

how to create a table in html CSS

Before We Start

Every developers need, clean and modern elements to develop their websites, It contain pictures and a user interface element within a website. The most important one and the first section that the user sees when he/she enters a website. how to create a table in html CSS

So if you are a person who wishes to develop a website, you have to know how to create that properly.

how to create a table in html CSS

Download Udemy paid courses FREE

We are here to solve your problem. In this article we discuss how to create this elements. Before we start please read the below articles which easier you to understand the process, if you are new to development.

Step 1 – Add HTML

It’s too easy and simple. Just copy and paste below code in your HTML editor between <body> </body> tag.

<link href="https://code.ionicframework.com/1.0.0-beta.8/css/ionic.css" rel="stylesheet">
<script src="https://code.ionicframework.com/1.0.0-beta.8/js/ionic.js"></script>
<script src="https://code.ionicframework.com/1.0.0-beta.8/js/angular/angular.js"></script>
<script src="https://code.ionicframework.com/1.0.0-beta.8/js/angular/angular-animate.js"></script>
<script src="https://code.ionicframework.com/1.0.0-beta.8/js/angular-ui/angular-ui-router.js"></script>
<script src="https://code.ionicframework.com/1.0.0-beta.8/js/angular/angular-sanitize.js"></script>
<script src="https://code.ionicframework.com/1.0.0-beta.8/js/angular/angular-resource.js"></script>
<script src="https://code.ionicframework.com/1.0.0-beta.8/js/ionic-angular.js"></script>

<ion-side-menus ng-app="app">
  <ion-side-menu-content scroll="true" drag-content="false" ng-controller="AppCtrl">
    <ion-header-bar class="bar bar-header bar-positive">
      <a class="button button-icon icon ion-navicon" ng-click="toggleLeft()"></a>
      <a class="button button-icon icon ion-refresh" ng-click="toggleLeft()"></a>
      <a class="button button-icon pull-right icon ion-search" ng-click="toggleLeft()"></a>

      <h1 class="title">
        Something here
      </h1>
    </ion-header-bar>

    <ion-content has-header="true" scroll="false">
      <ion-scroll direction="x" style="width: 100%" scrollbar-x="false" delegate-handle="head" zooming="true" on-scroll="scrollMirror('head', 'list')">
        <div class="item item-header item-positive row row-item min-705">
          <div class="col col-left col-20 min-180" ng-click="sort('descricao')">Estabelecimento</div>
          <div class="col col-right min-75" ng-click="sort('valorLiquido')">Líquido (R$)</div>
          <div class="col col-right min-75" ng-click="sort('valorBruto')">Bruto (R$)</div>
          <div class="col col-right min-75" ng-click="sort('valorDesconto')">Desc. (R$)</div>
          <div class="col col-right min-50" ng-click="sort('vendas')">Tickets</div>
          <div class="col col-right min-50" ng-click="sort('ticketMedio')">T.M.</div>
          <div class="col col-right min-50" ng-click="sort('quantidade')">Peças</div>
          <div class="col col-right min-50" ng-click="sort('quantidadeMedia')">P.A.</div>
          <div class="col col-right min-50" ng-click="sort('precoMedio')">P.M.V.</div>
          <div class="col col-right min-50" ng-click="sort('markup')">Mkp(%)</div>
        </div>
      </ion-scroll>
      <ion-scroll direction="xy" style="height: 100%" zooming="true" on-scroll="scrollMirror('list', 'head')" delegate-handle="list">
        <div class="item row row-item min-705" ng-repeat="row in data | orderBy:predicate:desc">
          <div class="col col-left col-20 min-180">{{ row.descricao }}</div>
          <div class="col col-right col-sep min-75">{{ row.valorLiquido | number: 2 }}</div>
          <div class="col col-right col-sep min-75">{{ row.valorBruto | number: 2 }}</div>
          <div class="col col-right col-sep min-75">{{ row.valorDesconto | number: 2 }}</div>
          <div class="col col-right col-sep min-50">{{ row.vendas | number: 0 }}</div>
          <div class="col col-right col-sep min-50">{{ row.ticketMedio | number: 2 }}</div>
          <div class="col col-right col-sep min-50">{{ row.quantidade | number: 0 }}</div>
          <div class="col col-right col-sep min-50">{{ row.quantidadeMedia | number: 2 }}</div>
          <div class="col col-right col-sep min-50">{{ row.precoMedio | number: 2 }}</div>
          <div class="col col-right col-sep min-50">{{ row.markup | number: 2 }}</div>
        </div>
        <div class="item item-footer item-positive row row-item min-705">
          <div class="col col-left col-20 min-180"></div>
          <div class="col col-right min-75">{{ sum.valorLiquido | number: 2 }}</div>
          <div class="col col-right min-75">{{ sum.valorBruto | number: 2 }}</div>
          <div class="col col-right min-75">{{ sum.valorDesconto | number: 2 }}</div>
          <div class="col col-right min-50">{{ sum.vendas | number: 0 }}</div>
          <div class="col col-right min-50">{{ sum.ticketMedio | number: 2 }}</div>
          <div class="col col-right min-50">{{ sum.quantidade | number: 0 }}</div>
          <div class="col col-right min-50">{{ sum.quantidadeMedia | number: 2 }}</div>
          <div class="col col-right min-50">{{ sum.precoMedio | number: 2 }}</div>
          <div class="col col-right min-50">{{ sum.markup | number: 2 }}</div>
        </div>
      </ion-scroll>
    </ion-content>
  </ion-side-menu-content>

</ion-side-menus>

Step 2 – Add CSS

Download Udemy paid courses FREE

Copy and paste below code in your HTML editor between <style></style> tag.

<style>
/* this is just an example - don't use !important */

.item-header {
  font-size: 12px !important;
  font-weight: bold;
}

.item-footer {
  font-size: 12px !important;
  font-weight: bold;

  /* the workaround below "fixes" the scrolling */
  margin-bottom: 28px !important;
}

.col-right {
  text-align: right;
  padding: 3px 5px 3px 5px !important;
}

.col-sep {
  border-left: 1px solid lightgray;
}

.col-left {
  padding: 3px 5px 3px 5px !important;
}

.min-75 {
  min-width: 75px;
}
.min-50 {
  min-width: 50px;
}
.min-180 {
  min-width: 180px;
}
.min-705 {
  min-width: 705px;
}

.row-item {
  padding: 0px !important;
  margin-left: 0 !important;
  font-size: 12px !important;
}

</style>

Step 3 – Add JavaScript

And also copy and paste below JavaScript code between <script></script> tag.

<script>
angular
  .module("app", ["ionic", "ngAnimate"])
  .controller("AppCtrl", function (
    $scope,
    $ionicScrollDelegate,
    $ionicSideMenuDelegate
  ) {
    $scope.data = [
      {
        id: 1,
        descricao: "TEST1",
        valorLiquido: 22003.06,
        valorBruto: 22807.63,
        vendas: 209,
        quantidade: 567,
        custo: 11104.06,
        valorDesconto: 804.57,
        markup: 98.15,
        ticketMedio: 105.28,
        quantidadeMedia: 2.71,
        precoMedio: 38.81
      },
      {
        id: 6,
        descricao: "TEST2",
        valorLiquido: 10351.62,
        valorBruto: 10458.54,
        vendas: 109,
        quantidade: 286,
        custo: 4778.04,
        valorDesconto: 106.92,
        markup: 116.65,
        ticketMedio: 94.97,
        quantidadeMedia: 2.62,
        precoMedio: 36.19
      },
      {
        id: 7,
        descricao: "TEST3",
        valorLiquido: 16517.8,
        valorBruto: 16935.61,
        vendas: 129,
        quantidade: 464,
        custo: 8092.04,
        valorDesconto: 417.81,
        markup: 104.12,
        ticketMedio: 128.05,
        quantidadeMedia: 3.6,
        precoMedio: 35.6
      },
      {
        id: 8,
        descricao: "TEST11",
        valorLiquido: 4559.11,
        valorBruto: 4741.61,
        vendas: 62,
        quantidade: 160,
        custo: 2245.48,
        valorDesconto: 182.5,
        markup: 103.04,
        ticketMedio: 73.53,
        quantidadeMedia: 2.58,
        precoMedio: 28.49
      },
      {
        id: 10,
        descricao: "TEST4",
        valorLiquido: 7998.88,
        valorBruto: 9047.07,
        vendas: 58,
        quantidade: 171,
        custo: 4428.38,
        valorDesconto: 1048.19,
        markup: 80.63,
        ticketMedio: 137.91,
        quantidadeMedia: 2.95,
        precoMedio: 46.78
      },
      {
        id: 14,
        descricao: "TEST11",
        valorLiquido: 12517.09,
        valorBruto: 12766.19,
        vendas: 98,
        quantidade: 294,
        custo: 5546.59,
        valorDesconto: 249.1,
        markup: 125.67,
        ticketMedio: 127.73,
        quantidadeMedia: 3.0,
        precoMedio: 42.58
      },
      {
        id: 321,
        descricao: "TEST6",
        valorLiquido: 10352.53,
        valorBruto: 10846.78,
        vendas: 135,
        quantidade: 399,
        custo: 4873.04,
        valorDesconto: 494.25,
        markup: 112.45,
        ticketMedio: 76.69,
        quantidadeMedia: 2.96,
        precoMedio: 25.95
      },
      {
        id: 123,
        descricao: "TEST5",
        valorLiquido: 494.91,
        valorBruto: 494.91,
        vendas: 5,
        quantidade: 18,
        custo: 222.61,
        valorDesconto: 0.0,
        markup: 122.33,
        ticketMedio: 98.98,
        quantidadeMedia: 3.6,
        precoMedio: 27.5
      },
      {
        id: 333,
        descricao: "TEST7",
        valorLiquido: 2480.96,
        valorBruto: 2867.5,
        vendas: 50,
        quantidade: 118,
        custo: 1311.31,
        valorDesconto: 386.54,
        markup: 89.2,
        ticketMedio: 49.62,
        quantidadeMedia: 2.36,
        precoMedio: 21.03
      },
      {
        id: 112,
        descricao: "TEST8",
        valorLiquido: 1535.33,
        valorBruto: 1645.22,
        vendas: 12,
        quantidade: 35,
        custo: 696.28,
        valorDesconto: 109.89,
        markup: 120.5,
        ticketMedio: 127.94,
        quantidadeMedia: 2.92,
        precoMedio: 43.87
      },
      {
        id: 259770,
        descricao: "TEST10",
        valorLiquido: 2880.78,
        valorBruto: 2944.22,
        vendas: 20,
        quantidade: 66,
        custo: 1351.83,
        valorDesconto: 63.44,
        markup: 113.1,
        ticketMedio: 144.04,
        quantidadeMedia: 3.3,
        precoMedio: 43.65
      },
      {
        id: 1212,
        descricao: "TEST9",
        valorLiquido: 2552.77,
        valorBruto: 2616.48,
        vendas: 21,
        quantidade: 58,
        custo: 863.53,
        valorDesconto: 63.72,
        markup: 195.62,
        ticketMedio: 121.56,
        quantidadeMedia: 2.76,
        precoMedio: 44.01
      }
    ];

    // calculating the summary
    $scope.sum = {
      valorLiquido: 0,
      valorBruto: 0,
      vendas: 0,
      quantidade: 0,
      custo: 0,
      valorDesconto: 0
    };

    for (var idx = 0; idx < $scope.data.length - 1; idx++) {
      for (var key in $scope.sum) {
        $scope.sum[key] += $scope.data[idx][key];
      }
    }
    $scope.sum.markup = ($scope.sum.valorLiquido / $scope.sum.custo - 1) * 100;
    $scope.sum.ticketMedio = $scope.sum.valorLiquido / $scope.sum.vendas;
    $scope.sum.quantidadeMedia = $scope.sum.quantidade / $scope.sum.vendas;
    $scope.sum.precoMedio = $scope.sum.valorLiquido / $scope.sum.quantidade;

    // table sorting
    $scope.predicate = "descricao";
    $scope.desc = false;

    $scope.toggleLeft = function () {
      $ionicSideMenuDelegate.toggleLeft();
    };

    $scope.sort = function (key) {
      if ($scope.predicate == key) $scope.desc = !$scope.desc;
      else $scope.predicate = key;
    };

    var adjusting = false;

    $scope.scrollMirror = function (from, to) {
      if (adjusting) {
        adjusting = false;
      } else {
        // Mirroring zoom level
        var zoomFrom = $ionicScrollDelegate
          .$getByHandle(from)
          .getScrollView()
          .getValues().zoom;
        var zoomTo = $ionicScrollDelegate
          .$getByHandle(to)
          .getScrollView()
          .getValues().zoom;

        if (zoomFrom != zoomTo) {
          $ionicScrollDelegate
            .$getByHandle(to)
            .getScrollView()
            .zoomTo(zoomFrom);
        }

        // Mirroring left position
        $ionicScrollDelegate
          .$getByHandle(to)
          .scrollTo(
            $ionicScrollDelegate.$getByHandle(from).getScrollPosition().left,
            $ionicScrollDelegate.$getByHandle(to).getScrollPosition().top
          );

        adjusting = true;
      }
    };
  });

</script>

At the end we will have something like this. You can change fonts, colors, backgrounds and all things that you want. Enjoy it.

how to create a table in html CSS

Video Tutorial

Please watch this video to better understand this tutorial and don’t forget to subscribe to our channel.

Download Udemy paid courses FREE


Help others to find out about this article on Social Media sites. If you have any doubt or any problem, don’t hesitate to contact us. Thereafter we will be able to help you and also make sure you bookmark our site on your browser.

Related Articles

Leave a Reply

Your email address will not be published.

Back to top button