Does a Sri Lankan national who holds a valid US visa need an airport transit visa to transit through an airport in Italy?
Citizens of some countries must have a Schengen airport transit visa to go through the airside zone of Schengen airports. This concerns the citizens of Sri Lanka, but also Afghanistan, Bangladesh, Democratic Republic of the Congo, Eritrea, Ethiopia, Ghana, Iran, Iraq, Nigeria, Pakistan, and Somalia.
For these citizens, exceptions exist if they hold a resident permit in some other country, namely the US, Canada, Andorra, Japan, or San Marino.
In your case, only the following US residence permits are accepted as valid forms to transit through the airport: form I-551, form I-327, a Resident Alien card, a permit to re-enter, or a valid temporary residence stamp in a valid passport.
If you have one of these documents, you will be allowed to TRANSIT through any Schengen airport (i.e. in Italy), but you should not leave the international zone (your origin and destination should be out of Schengen too).
If you plan to enter Italy or to fly to another Schengen country, you need a visa.