A floor register can be covered halfway using half a magnetic plate made to seal the opening and a metal register cover that's altered to accommodate the plate. Magnetic tape and galvanized steel can be used in place of the magnetic plate. Use a register cover with no louvers.
Use tin snips to cut the magnetic plate to the desired size. Alternatively, cut a galvanized steel plate to size and apply magnetic tape around the edge of portion of the vent hole that the plate will cover.
The register cover has a rectangular rim underneath that lets it fit snugly into the vent hole. Part of that rim must be trimmed away to make room for the plate. Measure the plate against the underside of the register cover and mark the cover along the plate's edge. Use the tin snips or a saw to cut the rim where marked, and either cut the rim sections off or use a hammer to bend the pieces over to give the plate clearance.
Position the plate over one side of the vent hole. Insert the register cover over it.
To reduce air flow from a vent without covering the vent, purchase a register cover with louver. Keeping the louvers closed won't seal the vent, but it will restrict much of the air that flows from it.