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);
});
});