The US highway system did pay for itself out of gas taxes. The highway trust fund was set up for this purpose. See https://en.wikipedia.org/wiki/Highway_Trust_Fund . In recent years the highway trust fund has not been adequate, for two reasons: one, Congress diverted money from the highway trust fund to fund things that were not highways, and two, the value of the tax didn't keep pace with inflation and it hasn't been increased recently.