, , , . , div.contacts , , . , 100% ( ), , .
, , .
.contacts {
width: 100%;
}
.contacts .name {
font-weight: 700;
display: block;
}
ul {
width: 100%;
}
li {
position: relative;
margin-bottom: 30px;
}
<!DOCTYPE html>
<html>
<head>
<link data-require="bootstrap-css@3.3.6" data-semver="3.3.6" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.css" />
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<ul>
<li>
<div class="contacts">
<span class="name">short name</span>
<span class="city">City</span>
<button class="btn btn-default btn-sm pull-right">Contact</button>
</div>
</li>
<li>
<div class="contacts">
<span class="name">very long name will be here</span>
<span class="city">city</span>
<button class="btn btn-primary btn-sm pull-right">Contact</button>
</div>
</li>
<li>
<div class="contacts">
<span class="name">another long name will be here too</span>
<span class="city">city</span>
<button class="btn btn-default btn-sm pull-right">Contact</button>
</div>
</li>
</ul>
</body>
</html>