Poe says to his team, who are attacking the fleet:
Poe: Get to their altitude. They can't fire on us without hitting each other. Don't give up.
Why would the fleet hit each other ?
Science Fiction & Fantasy Stack Exchange is a question and answer site for science fiction and fantasy enthusiasts. It only takes a minute to sign up.Sign up to join this community
He means that the fire from their guns would hit each other ship that was firing, given the relatively small size of the Rebel ships and the inaccuracy of the guns on the Star Destroyers.
Their tactic is successful because the Star Destroyers stop using their turbocannons and are forced to rely on TIE Fighters.
Well disregarding the fact the "ion cannons" look like turbolasers and shred the enemy fighters, the orientation of each destroyer would make hitting those tiny fighters impossible once they begin bombing runs on the superlaser. This is the same reason Lando says: "Yes, I said closer! Move as close as you can and engage those Stardestroyers at point-blank range! .... And we might just take a few of them with us!" (thank you @Mazura). So they had to scramble out fighters.