Sujay Garlanka Sujay Garlanka - 3 months ago 126
CSS Question

Center Google Sign In Button

I know this sounds very simple and it could be, but I have been trying to center the button using margin: auto, text-align: center, and other methods and none have worked. I know you can customize the button, but I am fine with this button and just want to center it.
JSFiddle Code

<html lang="en">

<head>
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="*******************.apps.googleusercontent.com">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:100,100i,400">
<style>
body {
background-color: #37474f;
}
h1{
color: white;
font-family: "Roboto", sans-serif;
font-weight: 500;

}
h3{
color: white;
font-family: "Roboto", sans-serif;
font-weight: 100;

}
.center{
margin-top: 10%;
text-align:center;
}
</style>
</head>

<body>
<div class='center'>
<img src="https://www.nssc.org/images/design/register-icon.png" alt="Logo" style="max-width:100px; max-height:100px;">
<h1>Email Database</h1>
<h3>Lorem Ipsum Dolor.</h3>
<br><br><br>
<div class="g-signin2" data-onsuccess="onSignIn" data-theme="light" data-width="300" data-height="50" data-longtitle="true"></div>
<!--<a href="#" onclick="signOut();">Sign out</a>-->
<div>
<script>
function onSignIn(googleUser) {
// Useful data for your client-side scripts:
var profile = googleUser.getBasicProfile();
console.log("ID: " + profile.getId()); // Don't send this directly to your server!
console.log('Full Name: ' + profile.getName());
console.log('Given Name: ' + profile.getGivenName());
console.log('Family Name: ' + profile.getFamilyName());
console.log("Image URL: " + profile.getImageUrl());
console.log("Email: " + profile.getEmail());

// The ID token you need to pass to your backend:
var id_token = googleUser.getAuthResponse().id_token;
$.ajax({
type: 'POST',
data: {
id_token: id_token
},
url: 'login_process.php',
success: function(data) {
//alert(data);
}

});
//console.log("ID Token: " + id_token);
}

function signOut() {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function() {
console.log('User signed out.');
});
}
</script>
</body>

</html>

Answer

Put some text into your button and there you go! The text-align hack for centering will come into play.

Even if you place a button image there, it will work!

See fiddle

  <div class="g-signin2" data-onsuccess="onSignIn" 
      -theme="light" data-width="300" data-height="50"
      data-longtitle="true">button</div>

Don't know what the issue here is.

EDIT:

Solved it!

Use this

.g-signin2{
  width: 100%;
}

.g-signin2 > div{
  margin: 0 auto;
}
Comments