var someX = -1000;
var someY = -500;
top: (someX + "px");
left: (someY + "px");
It depends on how you define your "chunks". Most Tileset-based engines make it easier for themselves by having "tiles" in fixed sizes (usually in pixels, but could be something else). So you can give "tile-count x,y" to a function, that just does:
offsetX = tileNumberX x tilewidth ; offsetY = tileNumberY x tileHeight ;
The ones that offer more flexibility usually have a file in json or xml for each individual tileset. This defines the borders and offsets for each tile. So your function would just have to read files, that you need to pre-calculate just once per tileset in your development cycle.
It basically gives you exactly what you describe, so you could decide to use it as it is. Otherwise it's a great tool to experiment with different ways your own engine can handle things.