I encountered a similar problem yesterday mixing ArcGIS JS with Twitter Bootstrap. What I did was manually resize the map when the browser window changed.
/*global require*/
/*jslint browser:true*/
require(["dojo/on", "esri/map"], function (on, Map) {
 "use strict";
 var map;
 // Create the map.
 /** Set the height of the map div.
 */
 function setMapDivHeight() {
  var topNavBar, mapDiv, desiredHeight;
  topNavBar = document.getElementById("topNavBar");
  mapDiv = document.getElementById("map");
  desiredHeight = window.innerHeight - topNavBar.clientHeight - 40;
  mapDiv.style.height = [desiredHeight, "px"].join("");
  if (map) {
   map.resize();
  }
 }
 setMapDivHeight();
 map = new Map("map", {
  basemap: "streets",
  autoResize: false
 });
 on.once(map, "load", function () {
  on(window, "resize", setMapDivHeight);
 });
});